First pass at adding the manage machine functionality, a=chris

Chris Pollett [2011-12-04 02:Dec:th]
First pass at adding the manage machine functionality, a=chris
Filename
bin/fetcher.php
bin/query_tool.php
bin/queue_server.php
configs/createdb.php
controllers/admin_controller.php
controllers/controller.php
controllers/machine_controller.php
css/search.css
data/default.db
index.php
lib/crawl_daemon.php
lib/utility.php
locale/ar/configure.ini
locale/de/configure.ini
locale/en-US/configure.ini
locale/en-US/statistics.txt
locale/es/configure.ini
locale/fr-FR/configure.ini
locale/fr-FR/statistics.txt
locale/he/configure.ini
locale/hi/configure.ini
locale/hi/statistics.txt
locale/in-ID/configure.ini
locale/in-ID/statistics.txt
locale/it/configure.ini
locale/ja/configure.ini
locale/ja/statistics.txt
locale/kn/configure.ini
locale/kn/statistics.txt
locale/ko/configure.ini
locale/ko/statistics.txt
locale/pl/configure.ini
locale/pt/configure.ini
locale/ru/configure.ini
locale/th/configure.ini
locale/vi-VN/configure.ini
locale/vi-VN/statistics.txt
locale/zh-CN/configure.ini
locale/zh-CN/statistics.txt
models/machine_model.php
scripts/basic.js
views/admin_view.php
views/elements/machinelog_element.php
views/elements/managemachines_element.php
views/helpers/toggle_helper.php
views/machinestatus_view.php
diff --git a/bin/fetcher.php b/bin/fetcher.php
index 1d8599689..62494b584 100755
--- a/bin/fetcher.php
+++ b/bin/fetcher.php
@@ -311,7 +311,6 @@ class Fetcher implements CrawlConstants
         //we will get the correct crawl order from the queue_server
         $this->crawl_order = self::PAGE_IMPORTANCE;
     }
-

     /**
      *  This is the function that should be called to get the fetcher to start
@@ -322,16 +321,17 @@ class Fetcher implements CrawlConstants
     {
         global $argv;

-        declare(ticks=1);
-        if(isset($argv[2])) {
+        // To use CrawlDaemon need to declare ticks first
+        declare(ticks=50);
+        CrawlDaemon::init($argv, "fetcher");
+        if(isset($argv[2]) ) {
             $this->fetcher_num = intval($argv[2]);
-            CrawlDaemon::init($argv, $this->fetcher_num."-fetcher");
             crawlLog("\n\nInitialize logger..", $this->fetcher_num."-fetcher");

         } else {
-            CrawlDaemon::init($argv, "fetcher");
             crawlLog("\n\nInitialize logger..", "fetcher");
         }
+
         $this->loop();
     }

diff --git a/bin/query_tool.php b/bin/query_tool.php
old mode 100644
new mode 100755
diff --git a/bin/queue_server.php b/bin/queue_server.php
index db41b6b2f..ee94abe2a 100755
--- a/bin/queue_server.php
+++ b/bin/queue_server.php
@@ -280,9 +280,9 @@ class QueueServer implements CrawlConstants
     {
         global $argv;

-        declare(ticks=1);
+        declare(ticks=500);
         CrawlDaemon::init($argv, "queue_server");
-
+        crawlLog("\n\nInitialize logger..", "queue_server");
         $this->loop();

     }
diff --git a/configs/createdb.php b/configs/createdb.php
index 48f3584b5..6948d5749 100755
--- a/configs/createdb.php
+++ b/configs/createdb.php
@@ -240,6 +240,11 @@ $db->execute("CREATE TABLE MIX_COMPONENTS (
     MIX_TIMESTAMP INT(11), GROUP_ID INT(4), CRAWL_TIMESTAMP INT(11),
     WEIGHT REAL, KEYWORDS VARCHAR(256))");

+$db->execute("CREATE TABLE MACHINE (
+    NAME VARCHAR(16) PRIMARY KEY, URL VARCHAR(256) UNIQUE,
+    HAS_QUEUE_SERVER BOOLEAN, NUM_FETCHERS INT(4))");
+
+

 $db->disconnect();
 if(in_array(DBMS, array('sqlite','sqlite3' ))){
diff --git a/controllers/admin_controller.php b/controllers/admin_controller.php
index 007fac363..4f947191c 100755
--- a/controllers/admin_controller.php
+++ b/controllers/admin_controller.php
@@ -59,14 +59,14 @@ class AdminController extends Controller implements CrawlConstants
      * is used to see how many pages crawled by the current crawl
      * @var array
      */
-    var $views = array("admin", "signin", "crawlstatus");
+    var $views = array("admin", "signin", "crawlstatus", "machinestatus");
     /**
      * Says which views to load for this controller.
      * @var array
      */
     var $models = array(
         "signin", "user", "activity", "crawl", "role", "locale", "profile",
-        "searchfilters");
+        "searchfilters", "machine");
     /**
      * Says which activities (roughly methods invoke from the web) this
      * controller will respond to
@@ -74,7 +74,8 @@ class AdminController extends Controller implements CrawlConstants
      */
     var $activities = array("signin", "manageAccount", "manageUsers",
         "manageRoles", "manageCrawls", "pageOptions", "searchFilters",
-        "manageMachines", "manageLocales", "crawlStatus", "configure");
+        "manageMachines", "manageLocales", "crawlStatus",
+        "machineStatus", "configure");

     /** Number of seconds of no fetcher contact before crawl is deemed dead*/
     const CRAWL_TIME_OUT = 1200;
@@ -111,7 +112,7 @@ class AdminController extends Controller implements CrawlConstants
                 if(!isset($data['REFRESH'])) {
                     $view = "admin";
                 } else {
-                    $view = "crawlstatus";
+                    $view = $data['REFRESH'];
                 }
              } else if ($this->checkSignin()){
                 $user_id = $this->signinModel->getUserId(
@@ -201,14 +202,23 @@ class AdminController extends Controller implements CrawlConstants
             if($activity == $allowed_activity['METHOD_NAME']) {
                  $allowed = true;
             }
+            if($allowed_activity['METHOD_NAME'] == "manageCrawls" &&
+                $activity == "crawlStatus") {
+                $allowed = true;
+            }
+            if($allowed_activity['METHOD_NAME'] == "manageMachines" &&
+                $activity == "machineStatus") {
+                $allowed = true;
+            }
         }

         //for now we allow anyone to get crawlStatus
-        if($activity == "crawlStatus" || $allowed) {
+        if($allowed) {
             $data = $this->$activity();
             $data['ACTIVITIES'] = $allowed_activities;
         }
-        if($activity != "crawlStatus") {
+        $status_activities = array("crawlStatus", "machineStatus");
+        if(!in_array($activity, $status_activities)) {
             $data['CURRENT_ACTIVITY'] =
                 $this->activityModel->getActivityNameFromMethodName($activity);
         }
@@ -240,7 +250,7 @@ class AdminController extends Controller implements CrawlConstants
     function crawlStatus()
     {
         $data = array();
-        $data['REFRESH'] = true;
+        $data['REFRESH'] = "crawlstatus";

         $crawl_time = $this->crawlModel->getCurrentIndexDatabaseName();
         if(isset($crawl_time) ) {
@@ -259,9 +269,10 @@ class AdminController extends Controller implements CrawlConstants
             }

             $crawl_status =
-                unserialize(file_get_contents(
+                @unserialize(file_get_contents(
                     CRAWL_DIR."/schedules/crawl_status.txt"));
-            $data = array_merge($data, $crawl_status);
+            $data = (is_array($crawl_status)) ?
+                array_merge($data, $crawl_status) : $data;

         }
         if(isset($data['VISITED_COUNT_HISTORY']) &&
@@ -305,6 +316,18 @@ class AdminController extends Controller implements CrawlConstants
             $info_string);
     }

+    /**
+     *
+     * @return array $data
+     */
+    function machineStatus()
+    {
+        $data = array();
+        $data['REFRESH'] = "machinestatus";
+        $data['MACHINES'] = $this->machineModel->getMachineStatuses();
+        return $data;
+    }
+
     /**
      * Used to handle the change current user password admin activity
      *
@@ -1490,9 +1513,13 @@ class AdminController extends Controller implements CrawlConstants
     function manageMachines()
     {
         $data["ELEMENT"] = "managemachinesElement";
-        $data['SCRIPT'] = "";
+        $possible_arguments = array("addmachine", "deletemachine",
+            "log", "update");
+        $data['SCRIPT'] = "doUpdate();";
+        $data["leftorright"]=(getLocaleDirection() == 'ltr') ? "right": "left";
         $data['MACHINES'] = array();
         $data['MACHINE_NAMES'] = array();
+        $urls = array();
         $data['FETCHER_NUMBERS'] = array(
             0 => 0,
             1 => 1,
@@ -1503,7 +1530,152 @@ class AdminController extends Controller implements CrawlConstants
             16 => 16,
             32 => 32,
         );
-        $data['FETCHER_NUMBER'] = 0;
+
+        $machines = $this->machineModel->getMachineList();
+        $tmp = tl('admin_controller_select_machine');
+        $data['DELETABLE_MACHINES'] = array(
+            $tmp => $tmp
+        );
+        foreach($machines as $machine) {
+            $data['MACHINE_NAMES'][] = $machine["NAME"];
+            $urls[] = $machine["URL"];
+            $data['DELETABLE_MACHINES'][$machine["NAME"]] = $machine["NAME"];
+        }
+
+        $request_fields = array(
+            "name" => "string",
+            "url" => "string",
+            "has_queue_server" => "bool",
+            "num_fetchers" => "int"
+        );
+        $r = array();
+
+        if(!isset($_REQUEST["has_queue_server"])) {
+            $_REQUEST["has_queue_server"] = false;
+        }
+
+        $allset = true;
+        foreach($request_fields as $field => $type) {
+            if(isset($_REQUEST[$field])) {
+                $r[$field] = $this->clean($_REQUEST[$field], $type);
+            } else {
+                $allset = false;
+            }
+        }
+        if(isset($r["num_fetchers"]) &&
+            in_array($r["num_fetchers"], $data['FETCHER_NUMBERS'])) {
+            $data['FETCHER_NUMBER'] = $r["num_fetchers"];
+        } else {
+            $data['FETCHER_NUMBER'] = 0;
+            if(isset($r["num_fetchers"])) {
+                $r["num_fetchers"] = 0;
+            }
+        }
+        $machine_exists = (isset($r["name"]) && in_array($r["name"],
+            $data['MACHINE_NAMES']) ) || (isset($r["url"]) &&
+            in_array($r["url"], $urls));
+        if(isset($_REQUEST['arg']) &&
+            in_array($_REQUEST['arg'], $possible_arguments)) {
+
+            switch($_REQUEST['arg'])
+            {
+                case "addmachine":
+                    if($allset == true && !$machine_exists) {
+                        $this->machineModel->addMachine(
+                            $r["name"], $r["url"], $r["has_queue_server"],
+                            $r["num_fetchers"]);
+
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_added').
+                            "</h1>')";
+                        $data['MACHINE_NAMES'][] = $r["name"];
+                        $data['DELETABLE_MACHINES'][$r["name"]] = $r["name"];
+                        sort($data['MACHINE_NAMES']);
+                    } else if ($allset && $machine_exists ) {
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_exists').
+                            "</h1>')";
+                    } else {
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_incomplete').
+                            "</h1>')";
+                    }
+                break;
+
+                case "deletemachine":
+                    if(!isset($r["name"]) ||
+                        !in_array($r["name"], $data['MACHINE_NAMES'])) {
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_doesnt_exists').
+                            "</h1>')";
+                    } else {
+                        $this->machineModel->deleteMachine($r["name"]);
+                        $tmp_array = array($r["name"]);
+                        $diff =
+                            array_diff($data['MACHINE_NAMES'],  $tmp_array);
+                        $data['MACHINE_NAMES'] = array_merge($diff);
+                        $tmp_array = array($r["name"] => $r["name"]);
+                        $diff =
+                            array_diff($data['DELETABLE_MACHINES'], $tmp_array);
+                        $data['DELETABLE_MACHINES'] = array_merge($diff);
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_deleted')."</h1>')";
+                    }
+                break;
+
+                case "log":
+                    if(isset($_REQUEST["fetcher_num"])) {
+                        $r["fetcher_num"] =
+                            $this->clean($_REQUEST["fetcher_num"], "int");
+                    }
+                    $data["ELEMENT"] = "machinelogElement";
+
+                    $data["LOG_TYPE"] = "";
+                    if(isset($r['fetcher_num']) && isset($r['name'])) {
+                        $data["LOG_FILE_DATA"] = $this->machineModel->getLog(
+                            $r["name"], $r["fetcher_num"]);
+                        $data["LOG_TYPE"] = $r['name'].
+                            " fetcher ".$r["fetcher_num"];
+                    } else if(isset($r['name'])) {
+                        $data["LOG_TYPE"] = $r['name']." queue_server";
+                        $data["LOG_FILE_DATA"] = $this->machineModel->getLog(
+                            $r["name"]);
+                    }
+                    if(!isset($data["LOG_FILE_DATA"])
+                        || $data["LOG_FILE_DATA"] == ""){
+                        $data["LOG_FILE_DATA"] =
+                            tl('admin_controller_no_machine_log');
+                    }
+                    $lines =array_reverse(explode("\n",$data["LOG_FILE_DATA"]));
+                    $data["LOG_FILE_DATA"] = implode("\n", $lines);
+                break;
+
+                case "update":
+                    if(isset($_REQUEST["fetcher_num"])) {
+                        $r["fetcher_num"] =
+                            $this->clean($_REQUEST["fetcher_num"], "int");
+                    } else {
+                        $r["fetcher_num"] = NULL;
+                    }
+                    $available_actions = array("start", "stop");
+                    if(isset($r["name"]) && isset($_REQUEST["action"]) &&
+                        in_array($_REQUEST["action"], $available_actions)) {
+                        $this->machineModel->update($r["name"],
+                            $_REQUEST["action"], $r["fetcher_num"]);
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_servers_updated').
+                            "</h1>')";
+                    } else {
+                        $data['SCRIPT'] .= "doMessage('<h1 class=\"red\" >".
+                            tl('admin_controller_machine_no_action').
+                            "</h1>')";
+                    }
+
+                break;
+
+            }
+        }
+
         return $data;
     }

diff --git a/controllers/controller.php b/controllers/controller.php
index 84f5a8f73..263095ee4 100755
--- a/controllers/controller.php
+++ b/controllers/controller.php
@@ -197,47 +197,73 @@ abstract class Controller
     public function clean($value, $type, $default = NULL)
     {
         $clean_value = NULL;
-        switch($type) {
-        case "int":
-            if(isset($value)) {
-                $clean_value = intval($value);
-            } else if ($default != NULL) {
-                $clean_value = $default;
-            } else {
-                $clean_value = 0;
-            }
-        break;
-
-        case "float":
-            if(isset($value)) {
-                $clean_value = floatval($value);
-            } else if ($default != NULL) {
-                $clean_value = $default;
-            } else {
-                $clean_value = 0;
-            }
-        break;
+        switch($type)
+        {
+            case "boolean":
+            case "bool":
+                if(isset($value)) {
+                    if(!is_bool($value)) {
+                        $clean_value = false;
+                        if($value == "true" || $value != 0) {
+                            $clean_value = true;
+                        }
+                    }
+                } else if ($default != NULL) {
+                    $clean_value = $default;
+                } else {
+                    $clean_value = false;
+                }
+            break;

-        case "hash";
-            if(isset($value)) {
-                if(strlen($value) == strlen(crawlHash("A")) &&
-                    base64_decode($value)) {
-                    $clean_value = $value;
+            case "int":
+                if(isset($value)) {
+                    $clean_value = intval($value);
+                } else if ($default != NULL) {
+                    $clean_value = $default;
+                } else {
+                    $clean_value = 0;
+                }
+            break;
+
+            case "float":
+                if(isset($value)) {
+                    $clean_value = floatval($value);
+                } else if ($default != NULL) {
+                    $clean_value = $default;
+                } else {
+                    $clean_value = 0;
                 }
-            } else {
-                $clean_value = $default;
-            }
-        break;
-
-        case "string":
-            if(isset($value)) {
-                $value2 = str_replace("&amp;", "&", $value);
-                $clean_value = htmlentities($value2, ENT_QUOTES, "UTF-8");
-            } else {
-                $clean_value = $default;
-            }
             break;

+            case "double":
+                if(isset($value)) {
+                    $clean_value = doubleval($value);
+                } else if ($default != NULL) {
+                    $clean_value = $default;
+                } else {
+                    $clean_value = 0;
+                }
+            break;
+
+            case "hash";
+                if(isset($value)) {
+                    if(strlen($value) == strlen(crawlHash("A")) &&
+                        base64_decode($value)) {
+                        $clean_value = $value;
+                    }
+                } else {
+                    $clean_value = $default;
+                }
+            break;
+
+            case "string":
+                if(isset($value)) {
+                    $value2 = str_replace("&amp;", "&", $value);
+                    $clean_value = htmlentities($value2, ENT_QUOTES, "UTF-8");
+                } else {
+                    $clean_value = $default;
+                }
+            break;
         }

         return $clean_value;
diff --git a/controllers/machine_controller.php b/controllers/machine_controller.php
new file mode 100644
index 000000000..0df27365a
--- /dev/null
+++ b/controllers/machine_controller.php
@@ -0,0 +1,164 @@
+<?php
+/**
+ *  SeekQuarry/Yioop --
+ *  Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ *  Copyright (C) 2009 - 2012  Chris Pollett chris@pollett.org
+ *
+ *  LICENSE:
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *  END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage controller
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009 - 2012
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/** Load base controller class if needed */
+require_once BASE_DIR."/controllers/controller.php";
+/** Loads common constants for web crawling*/
+require_once BASE_DIR."/lib/crawl_constants.php";
+/** Loads crawl_daemon to get status on running daemons*/
+require_once BASE_DIR."/lib/crawl_daemon.php";
+
+/**
+ * This class handles requests from a computer that is managing several
+ * fetchers and queue_servers. This controller might be used to start, stop
+ * fetchers/queue_server as well as get status on the active fetchers
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage controller
+ */
+class MachineController extends Controller implements CrawlConstants
+{
+    /**
+     * No models used by this controller
+     * @var array
+     */
+    var $models = array();
+    /**
+     * Only outputs JSON data so don't need view
+     * @var array
+     */
+    var $views = array();
+    /**
+     * These are the activities supported by this controller
+     * @var array
+     */
+    var $activities = array("statuses", "update", "log");
+
+    /**
+     * Number of characters from end of most recent log file to return
+     * on a log request
+     */
+    const LOG_LISTING_LEN = 100000;
+    /**
+     * Checks that the request seems to be coming from a legitimate fetcher then
+     * determines which activity the fetcher is requesting and calls that
+     * activity for processing.
+     *
+     */
+    function processRequest()
+    {
+        $data = array();
+
+        /* do a quick test to see if this is a request seems like
+           from a legitimate machine
+         */
+        if(!$this->checkRequest()) {return; }
+
+        $activity = $_REQUEST['a'];
+
+        if(in_array($activity, $this->activities)) {$this->$activity();}
+    }
+
+    /**
+     * Checks the running/non running status of the
+     * fetchers and queue_servers of the current Yioop instance
+     */
+    function statuses()
+    {
+        echo json_encode(CrawlDaemon::statuses());
+    }
+
+    /**
+     * Used to start/stop a queue_server/fetcher of the current Yioop instance
+     * based on the queue_server and fetcher fields of the current $_REQUEST
+     */
+    function update()
+    {
+        $statuses = CrawlDaemon::statuses();
+
+        $bin_dir = BASE_DIR."/bin";
+
+        if(isset($_REQUEST['queue_server'])) {
+            if($_REQUEST['queue_server'] == "true" &&
+                !isset($statuses["queue_server"][-1])) {
+                exec("php $bin_dir/queue_server.php start");
+            } else if($_REQUEST['queue_server'] == "false" &&
+                isset($statuses["queue_server"][-1]) ) {
+                exec("php $bin_dir/queue_server.php stop");
+            }
+        }
+
+        if(isset($_REQUEST['fetcher']) && is_array($_REQUEST['fetcher'])) {
+            foreach($_REQUEST['fetcher'] as $index => $value) {
+                if($value == "true" && !isset($statuses["fetcher"][$index]) ) {
+                    exec("php $bin_dir/fetcher.php start $index");
+                } else if($value == "false" &&
+                    isset($statuses["fetcher"][$index]) ) {
+                    exec("php $bin_dir/fetcher.php stop $index");
+                }
+            }
+        }
+    }
+
+    /**
+     *  Used to retrieve a fetcher/queue_server logfile for the the current
+     *  Yioop instance
+     */
+    function log()
+    {
+        $log_data = "";
+        if(isset($_REQUEST["fetcher_num"])) {
+            $fetcher_num = $this->clean($_REQUEST["fetcher_num"], "int");
+            $log_file_name = LOG_DIR . "/{$fetcher_num}-fetcher.log";
+        } else {
+            $log_file_name = LOG_DIR . "/queue_server.log";
+        }
+        if(file_exists($log_file_name)) {
+            $size = filesize($log_file_name);
+            $len = min(self::LOG_LISTING_LEN, $size);
+            $fh = fopen($log_file_name, "r");
+            if($fh) {
+                fseek($fh, $size - $len);
+                $log_data = fread($fh, $len);
+                fclose($fh);
+            }
+        }
+        echo json_encode($log_data);
+    }
+
+
+}
+?>
diff --git a/css/search.css b/css/search.css
index 505fe86e6..6c124d197 100755
--- a/css/search.css
+++ b/css/search.css
@@ -445,11 +445,21 @@ p
     color:red;
 }

-.highlight
+.highlight, .backred
 {
     background-color:red;
 }

+.backgreen
+{
+    background-color:green;
+}
+
+.backgray
+{
+    background-color: lightgray;
+}
+
 .frame
 {
     background-color: #fff;
@@ -672,24 +682,40 @@ p
     padding: 2px;
 }

-.html-ltr .filetypestable, .html-ltr .ftypesall td{
+.html-ltr .filetypestable, .html-ltr .ftypesall td
+{
    margin-left: .3in;
    vertical-align: top;
 }

-.html-rtl  .filetypestable, .html-rtl .ftypesall td{
+.html-rtl  .filetypestable, .html-rtl .ftypesall td
+{
    margin-right: .3in;
    vertical-align: top;
 }

-.html-ltr .weightstable th {
+.html-ltr .weightstable th
+{
     text-align: right;
 }

-.html-rtl .weightstable th {
+.html-rtl .weightstable th
+{
     text-align: left;
 }

+.machinetable, .machinetable th, .machinetable td
+{
+    border: 1px ridge black;
+    margin: 2px;
+    padding: 3px;
+}
+
+.toggletable, .toggletable td
+{
+    border: 1px ridge black;
+}
+
 .translatetable, .translatetable th, .translatetable td, .filetypestable td
 {
     border: 1px ridge black;
@@ -805,6 +831,17 @@ p
     margin-top: .2in;
 }

+.nomargin
+{
+    margin: 0;
+}
+
+.box
+{
+    border: 1px ridge #ccc;
+    padding: 3px;
+}
+
 .slightpad
 {
     padding: .1in;
diff --git a/data/default.db b/data/default.db
index a8dc54467..7102cce5e 100644
Binary files a/data/default.db and b/data/default.db differ
diff --git a/index.php b/index.php
index b324cd6b9..b86203b30 100755
--- a/index.php
+++ b/index.php
@@ -97,10 +97,10 @@ if ( false === function_exists('lcfirst') ) {
 }

 $available_controllers = array("search", "fetch", "cache",
-    "settings", "admin", "archive");
+    "settings", "admin", "archive", "machine");
 if(!WEB_ACCESS) {
 $available_controllers = array("fetch", "cache",
-    "admin", "archive");
+    "admin", "archive", "machine");
 }

 //the request variable c is used to determine the controller
diff --git a/lib/crawl_daemon.php b/lib/crawl_daemon.php
index 721b44f45..bc4bc7c29 100644
--- a/lib/crawl_daemon.php
+++ b/lib/crawl_daemon.php
@@ -48,6 +48,8 @@ require_once BASE_DIR."/lib/crawl_constants.php";

 /**
  * Used to run scripts as a daemon on *nix systems
+ * To use CrawlDaemon need to declare ticks first in a scope that
+ * won't go away after CrawlDaemon:init is called
  *
  * @author Chris Pollett
  * @package seek_quarry
@@ -65,32 +67,30 @@ class CrawlDaemon implements CrawlConstants
     static $name;

     /**
-     * Callback function to handle signals sent to this daemon
+     * Used by processHandler to decide when to update the lock file
+     * @var int
+     * @static
+     */
+    static $time;
+
+    /**
+     * Tick callback function used to update the timestamp in this processes
+     * lock. If lock_file does not exist it stops the process
      *
      * @param int $signo signal sent to the daemon
      */
-    static function processHandler($signo)
+    static function processHandler()
     {
-         switch ($signo)
-         {
-             case SIGTERM:
-                 // handle shutdown tasks
-                 $info = array();
-                 $info[self::STATUS] = self::STOP_STATE;
-                 file_put_contents(
-                    CRAWL_DIR."/schedules/".self::$name."_messages.txt",
-                    serialize($info));
-                 unlink(CRAWL_DIR."/schedules/".self::$name."_lock.txt");
-             break;
-
-             case SIGSEGV:
-                 // handle shutdown tasks
-                crawlLog(
-                    "Segmentation Fault Caught!! Debug back trace follows:");
-                crawlLog(var_dump(debug_backtrace(), true));
-             break;
-
-         }
+        $now = time();
+        if($now - self::$time < 30) return;
+
+        $lock_file = CRAWL_DIR."/schedules/".self::$name."_lock.txt";
+        if(!file_exists($lock_file)) {
+            crawlLog("Stopping ".self::$name." ...");
+            exit();
+        }
+
+        file_put_contents($lock_file, $now);
     }

     /**
@@ -108,7 +108,11 @@ class CrawlDaemon implements CrawlConstants
      */
     static function init($argv, $name)
     {
-        self::$name = $name;
+        if(isset($argv[2])) {
+            self::$name = intval($argv[2])."-".$name;
+        } else {
+            self::$name = $name;
+        }
         //don't let our script be run from apache
         if(isset($_SERVER['DOCUMENT_ROOT']) &&
             strlen($_SERVER['DOCUMENT_ROOT']) > 0) {
@@ -120,68 +124,50 @@ class CrawlDaemon implements CrawlConstants
             echo "For example,\n";
             echo "php $name.php start //starts the $name as a daemon\n";
             echo "php $name.php stop //stops the $name daemon\n";
-            echo "php $name.php job //runs $name within the current ".
-                "process, not as a daemon, output going to a log file\n";
             echo "php $name.php terminal //runs $name within the current ".
                 "process, not as a daemon, output going to the terminal\n";
             exit();
         }

-        //the next code is for running as a daemon on *nix systems
-        $terminal_flag = strcmp($argv[1], "terminal") == 0 ||
-            strcmp($argv[1], "job") == 0;
-        if(function_exists("pcntl_fork") && !$terminal_flag)  {
-            $pid = pcntl_fork();
-            if ($pid == -1) {
-                die("could not fork");
-            } else if ($pid) {
-                exit(); // parent goes away
-            }
-        } else { //for Windows systems we fall back to console operation
-            if(!$terminal_flag) {
-                echo "pcntl_fork function does not exist falling back to ".
-                    "terminal mode\n";
-                $argv[1] = "terminal";
-            }
-        }
-
-        //used mainly to handle segmentation faults caused by flaky multi_curl
-        if(function_exists("pcntl_signal")) {
-            pcntl_signal(SIGSEGV, "CrawlDaemon::processHandler");
-        }
+        $lock_file = CRAWL_DIR."/schedules/".self::$name."_lock.txt";
+        $messages_file = CRAWL_DIR."/schedules/".self::$name."_messages.txt";

         switch($argv[1])
         {
             case "start":
-                if(file_exists(CRAWL_DIR."/schedules/$name"."_lock.txt")) {
-                    echo "$name appears to be already running...\n";
-                    echo "Try stopping it first, then running start.";
-                    exit();
+
+                if(file_exists($lock_file)) {
+                    $time = intval(file_get_contents($lock_file));
+                    if(time() - $time < 60) {
+                        echo "$name appears to be already running...\n";
+                        echo "Try stopping it first, then running start.";
+                        exit();
+                    }
                 }
+                $start_time = date('H:m', time() + 60);
+                if(strstr(PHP_OS, "WIN")) {
+                    $script = "at $start_time \"php $name.php child %s\"";
+                } else {
+                    $script = "echo \"php ".
+                        BASE_DIR."/bin/$name.php child %s\" | at now ";
+                }
+                $options = "";
+                for($i = 2; $i < count($argv); $i++) {
+                    $options .= " ". $argv[$i];
+                }
+                $at_job = sprintf($script, $options);
+                echo $at_job;
+                exec($at_job);
                 echo "Starting $name...\n";
-                // setup signal handler
-                pcntl_signal(SIGTERM, "CrawlDaemon::processHandler");
-
-                file_put_contents(
-                    CRAWL_DIR."/schedules/$name"."_lock.txt",
-                    serialize(getmypid()));
-
-                $info = array();
-                $info[self::STATUS] = self::WAITING_START_MESSAGE_STATE;
-                file_put_contents(
-                    CRAWL_DIR."/schedules/$name"."_messages.txt",
-                    serialize($info));

-                define("LOG_TO_FILES", true);
-                    // if false log messages are sent to the console
+                file_put_contents($lock_file,  time());
+                exit();
             break;

             case "stop":
-                if(file_exists(CRAWL_DIR."/schedules/$name"."_lock.txt")) {
-                    $pid = unserialize(file_get_contents(
-                        CRAWL_DIR."/schedules/$name"."_lock.txt"));
-                    echo "Stopping $name...$pid\n";
-                    posix_kill($pid, SIGTERM);
+                if(file_exists($lock_file)) {
+                    unlink($lock_file);
+                    echo "Sending stop signal to $name...\n";
                 } else {
                     echo "$name does not appear to running...\n";
                 }
@@ -189,23 +175,22 @@ class CrawlDaemon implements CrawlConstants
             break;

             case "terminal":
-
                 $info = array();
                 $info[self::STATUS] = self::WAITING_START_MESSAGE_STATE;
-                file_put_contents(
-                    CRAWL_DIR."/schedules/$name"."_messages.txt",
-                    serialize($info));
-
+                file_put_contents($messages_file, serialize($info));
                 define("LOG_TO_FILES", false);
             break;

-            case "job":
+            case "child":
+                register_tick_function('CrawlDaemon::processHandler');
+
+                self::$time = time();
                 $info = array();
                 $info[self::STATUS] = self::WAITING_START_MESSAGE_STATE;
-                file_put_contents(
-                    CRAWL_DIR."/schedules/$name"."_messages.txt",
-                    serialize($info));
-                define("LOG_TO_FILES", true);
+                file_put_contents($messages_file, serialize($info));
+
+                define("LOG_TO_FILES", true);
+                    // if false log messages are sent to the console
             break;

             default:
@@ -214,5 +199,37 @@ class CrawlDaemon implements CrawlConstants
         }

     }
+
+    /**
+     * Returns the statuses of the running daemons
+     *
+     * @return array 2d array active_daemons[name][instance] = true
+     */
+    static function statuses()
+    {
+        $prefix = CRAWL_DIR."/schedules/";
+        $prefix_len = strlen($prefix);
+        $suffix = "_lock.txt";
+        $suffix_len = strlen($suffix);
+        $lock_files = "$prefix*$suffix";
+        clearstatcache();
+        $time = time();
+        $active_daemons = array();
+        foreach (glob($lock_files) as $file) {
+            if(filemtime($file) - $time < 120) {
+                $len = strlen($file) - $suffix_len - $prefix_len;
+                $pre_name = substr($file, $prefix_len, $len);
+                $pre_name_parts = explode("-", $pre_name);
+                if(count($pre_name_parts) == 1) {
+                    $active_daemons[$pre_name][-1] = true;
+                } else {
+                    $first = array_shift($pre_name_parts);
+                    $rest = implode("-", $pre_name_parts);
+                    $active_daemons[$rest][$first] = true;
+                }
+            }
+        }
+        return $active_daemons;
+    }
 }
  ?>
diff --git a/lib/utility.php b/lib/utility.php
index 5d64a9c86..c667f18be 100755
--- a/lib/utility.php
+++ b/lib/utility.php
@@ -705,5 +705,4 @@ function greaterThan($a, $b) {
     return ($a > $b) ? -1 : 1;
 }

-
 ?>
diff --git a/locale/ar/configure.ini b/locale/ar/configure.ini
index bd3e3b3be..c41d7491a 100755
--- a/locale/ar/configure.ini
+++ b/locale/ar/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/de/configure.ini b/locale/de/configure.ini
index d545336b0..bb273262d 100755
--- a/locale/de/configure.ini
+++ b/locale/de/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/en-US/configure.ini b/locale/en-US/configure.ini
index 21d58df2c..6e740eae5 100755
--- a/locale/en-US/configure.ini
+++ b/locale/en-US/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "Login Successful!!"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "Username or Password Incorrect!"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "Login to continue configuration (default: u=root, p=)"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "Current password incorrect."
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "Password change successful!!"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "Select Username"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "Cannot Create User As Username Exists"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "User Created"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "User Deleted"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "Select Activity"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "Role Name Exists"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "Activity Added"
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "Activity Deleted"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "Starting New Crawl!"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "No Description for Crawl"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "Stopping crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "Resuming crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "Deleting Crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "Delete Crawl Failed!!"
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = "Setting Crawl To Use as Index"
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = "Use options below"
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = "Use Yioop! defaults"
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = "Use options below"
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = "Previous Crawl:"
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "Breadth First"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "Page Importance"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = "Urls Injected!"
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = "Updating Seed Site Info!"
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = "Select Crawl"
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = "Select Crawl"
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = "Unnamed Crawl"
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = "Crawl Mix Created!"
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = "Setting Crawl To Use as Index"
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = "Mix to Delete Does not Exist!"
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = "Crawl Mix Deleted!"
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = "Add Crawls"
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = "Number of Results"
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = "Delete Group"
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = "Weight"
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = "Name"
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = "Keywords"
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = "Actions"
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = "Add Query"
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = "Delete"
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = "Crawl Mix Changes Saved!"
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = "Never"
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = "1 days"
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = "2 days"
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = "3 days"
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = "7 days"
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = "14 days"
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = "Filtered Sites Updated!"
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = "Select Machine"
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = "Machine Added!"
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = "Machine Name Already Exists; Please Delete First!"
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = "Missing Fields From Machine Form!"
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = "Machine Name does not Exists!"
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = "Machine Deleted!"
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = "No Log File Found."
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = "Machine&#039;s Servers Updated!"
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = "Unable to Perform Action!"
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "Select Locale"
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "Locale Added!"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "Locale Does Not Exist!"
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "Locale Deleted"
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = "Locale Strings Updated!"
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = "configs/config.php not web server writable."
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = "Work directory needs to be writable by web server. "
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = "pnp.ini file variable post_max_size should be at least 32M"
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = "The following required items were missing: %s"
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = "The following optional items were missing: %s"
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = "Check Passed."
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = "Using configs/local_config.php so changing work directory above may not work."
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = "Work Directory Set! You may need to re-login!"
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = "Please Name Your robot"
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = "Working Directory and Profile Created!"
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = "Unable to Update config.php File!"
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = "Unable to Create Profile!"
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = "Problem Updating Database!"
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = "Profile Updated!"
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = "There was a Problem Updating Profile!"
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = "Please Describe Your Robot"
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = "Add Group"
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = "Save"
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = "Back"
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = "%s Log File"
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "Change Account Password"
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = "Submit"
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = "Delete Machine"
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = "Machine Name:"
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = "Select Machine"
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = "Submit"
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = "Machine Information"
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = "Awaiting statuses of machines..."
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = "Machine status no longer updating..."
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "Add Role"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "Prev"
 ; pagination_helper.php line: 109
 pagination_helper_next = "Next"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = "On"
+;
+; toggle_helper.php line: 66
+toggle_helper_off = "Off"
+;
+; toggle_helper.php line: 69
+toggle_helper_on = "On"
+;
+; toggle_helper.php line: 70
+toggle_helper_off = "Off"
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = "Total Elapsed Time for Queries: %s seconds."
 ; web_layout.php line: 93
 web_layout_query_time = "Time: %s seconds."
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = "No Monitored Machines"
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = "Queue Server"
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = "Log"
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = "Machine has no queue server"
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = "Machine has no fetchers"
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = "Fetchers"
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = "Log"
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = "Did not have cache of requested item."
 ;
diff --git a/locale/en-US/statistics.txt b/locale/en-US/statistics.txt
index 5a165df53..b6bef56f0 100755
--- a/locale/en-US/statistics.txt
+++ b/locale/en-US/statistics.txt
@@ -1 +1 @@
-d:100;
\ No newline at end of file
+d:99;
\ No newline at end of file
diff --git a/locale/es/configure.ini b/locale/es/configure.ini
index 22bd50740..983eecc02 100755
--- a/locale/es/configure.ini
+++ b/locale/es/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/fr-FR/configure.ini b/locale/fr-FR/configure.ini
index af1b060a5..0cfec756c 100755
--- a/locale/fr-FR/configure.ini
+++ b/locale/fr-FR/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "Pr&eacute;c."
 ; pagination_helper.php line: 109
 pagination_helper_next = "Proch."
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/fr-FR/statistics.txt b/locale/fr-FR/statistics.txt
index 8f6a89ac6..68101b705 100755
--- a/locale/fr-FR/statistics.txt
+++ b/locale/fr-FR/statistics.txt
@@ -1 +1 @@
-d:13;
\ No newline at end of file
+d:12;
\ No newline at end of file
diff --git a/locale/he/configure.ini b/locale/he/configure.ini
index a3d2c071d..1b92b1e1c 100755
--- a/locale/he/configure.ini
+++ b/locale/he/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "סיסמא / שם משתמש אינו נכון"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "התחבר על מנת להמשך בתהליך"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "סיסמא  אינה נכונה"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "סיסמא אינה נכונה"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "סיסמא עודכנה בהצלחה"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "בחר שם משתמש"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "בחר תפקיד"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "סיסמא  אינה נכונה"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = " שם משתמש קיים במערכת"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "שם שמשתמש אינו קיים"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "שם משתמש נמחק"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "שם שמשתמש אינו קיים"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "שם תפקיד אינו קיים"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "שם תפקיד נוצר"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "שם שמשתמש אינו קיים"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "שם תפקיד אינו קיים"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "שם תפקיד נמחק"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "בחר תפקיד"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "בחר פעילות"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "שם תפקיד קיים במערכת"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "שם תפקיד נוצר"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "שם תפקיד אינו קיים"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "שם תפקיד נמחק"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "שם תפקיד אינו קיים"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "שם פעילות אינו קיים במערכת"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "שם תפקיד אינו קיים"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "שם פעילות אינו קיים במערכת"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "פעילות נמחקה"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = "השתמש באפשרויות הבאות"
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = " השתמש כבררת מחדל כמנוע חיפוש"
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = "השתמש באפשרויות הבאות"
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = "פרופייל עודכן"
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = "בעיה עם עדכון הפרופייל"
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = "שמור"
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/hi/configure.ini b/locale/hi/configure.ini
index 0c9e0c780..4483f2b84 100755
--- a/locale/hi/configure.ini
+++ b/locale/hi/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "लॉग इन सफल"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "लॉग इन असफल"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "कॉन्फ़िगर करने के लिए लॉगिन करें"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "पासवर्ड एक समान नहीं"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "अमान्य पुराना पासवर्ड"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "उपयोगकर्ता नाम का चयन करें"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "भूमिका नाम का चयन करें"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "पासवर्ड एक समान नहीं"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "उपयोगकर्ता मौजूद है"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "भूमिका नाम का चयन करें"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "क्रॉल पुनः आरंभ करें"
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/hi/statistics.txt b/locale/hi/statistics.txt
index 1bdc2c466..531e93b98 100755
--- a/locale/hi/statistics.txt
+++ b/locale/hi/statistics.txt
@@ -1 +1 @@
-d:10;
\ No newline at end of file
+d:9;
\ No newline at end of file
diff --git a/locale/in-ID/configure.ini b/locale/in-ID/configure.ini
index 435c83238..0d0259857 100755
--- a/locale/in-ID/configure.ini
+++ b/locale/in-ID/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "Login berhasil"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "Login tidak berhasil"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "Kata sandi tidak sesuai"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "Kata sandi yang lama salah"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "Ganti kata sandi"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "Pilih username"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "Pilih rolename"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "Kata sandi tidak sesuai"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "Username ditemukan"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "Username telah ditambah"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "Username tidak ditemukan"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "Username telah dihapus"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "Username tidak ditemukan"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "Rolename tidak ditemukan"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "Rolename telah ditambah"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "Username tidak ditemukan"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "Rolename tidak ditemukan"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "Rolename telah dihapus"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "Pilih rolename"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "Pilih name aktivitas"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "Rolename ditemukan"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "Rolename telah ditambah"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "Rolename tidak ditemukan"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "Rolename telah dihapus"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "Rolename tidak ditemukan"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "Nama aktivitas tidak ditemukan"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "Aktivitas telah ditambah"
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "Rolename tidak ditemukan"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "Nama aktivitas tidak ditemukan"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "Aktivitas telah dihapus"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "Pilih name locale"
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "Locale telah ditambah"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "Locale tidak ditemukan"
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "Locale telah dihapus"
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "Tambah role"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "Sebelum"
 ; pagination_helper.php line: 109
 pagination_helper_next = "Sesudah"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/in-ID/statistics.txt b/locale/in-ID/statistics.txt
index f2030f01c..80636e031 100755
--- a/locale/in-ID/statistics.txt
+++ b/locale/in-ID/statistics.txt
@@ -1 +1 @@
-d:15;
\ No newline at end of file
+d:14;
\ No newline at end of file
diff --git a/locale/it/configure.ini b/locale/it/configure.ini
index 3a8377737..33bf2fcd8 100755
--- a/locale/it/configure.ini
+++ b/locale/it/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/ja/configure.ini b/locale/ja/configure.ini
index bc41a85d9..1fa2df522 100755
--- a/locale/ja/configure.ini
+++ b/locale/ja/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "ログイン成功"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "無効なユーザー名またはパスワード"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "パスワードを違います"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "無効な古いパスワード"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "パスワードの編集できました"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "選択ユーザー名"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "選択役割名"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "パスワードを違います"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "ユーザー名が存在します"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "ユーザー名が追加しました"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "ユーザー名は存在しません"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "ユーザー名を削除しました"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "ユーザー名は存在しません"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "役割は存在しません"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "役割が追加しました"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "ユーザー名は存在しません"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "役割は存在しません"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "役割を削除しました"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "選択役割名"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "選択アクティビティ名"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "役割が存在します"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "役割が追加しました"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "役割は存在しません"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "役割を削除しました"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "役割は存在しません"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "アクティビティ名は存在しません"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "アクティビティが追加しました"
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "役割は存在しません"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "アクティビティ名は存在しません"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "アクティビティを削除しました"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "新しい検索を始まります"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "検索の説明ありません"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "検索を停止する。ちょっと待ってください。"
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "検索を再会する。ちょっと待ってください。"
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "検索を削除する。ちょっと待ってください。"
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "検索削除を失敗しました"
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = "指数のための検索設定する。"
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "幅優先"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "ページの重要性"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = "シッド情報の更新"
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = "指数のための検索設定する。"
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "選択ローケル"
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "ローケルが追加しました"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "ローケルは存在しません"
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "ローケルを削除しました"
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = "ローケルストリングを編集しました"
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = "作業ディレクトリの設定しました。もう一度ログインしてください。"
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = "ボット名を入力してください。"
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = "作業ディレクトリとプロフィールの作成しました。"
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = "config.phpファイルのできない。更新"
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = "プロフィールを作成できない。"
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = "無効な作業ディレクト。プロフィールを作成できない。"
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = "無効な作業ディレクト。プロフィールを作成できない。"
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = "ディータベースの更新ない"
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = "プロフィールの変更できました。"
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = "プロフィールの変更できない。"
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = "ロボットの説明してください。"
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "パスワードの編集"
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "役割の追加"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "前に"
 ; pagination_helper.php line: 109
 pagination_helper_next = "次の"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = "経過時間の合計:%s分"
 ; web_layout.php line: 93
 web_layout_query_time = "キュエリ時間:%s分"
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = "アイテムのキャッシュはありません"
 ;
diff --git a/locale/ja/statistics.txt b/locale/ja/statistics.txt
index 2a8ca5e0d..b76794965 100755
--- a/locale/ja/statistics.txt
+++ b/locale/ja/statistics.txt
@@ -1 +1 @@
-d:58;
\ No newline at end of file
+d:54;
\ No newline at end of file
diff --git a/locale/kn/configure.ini b/locale/kn/configure.ini
index dddfa2547..4981da682 100755
--- a/locale/kn/configure.ini
+++ b/locale/kn/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "ಒಳಪ್ರವೇಶಣೆ ಸಫಲ"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "ಒಳಪ್ರವೇಶಣೆ ವಿಫಲ, ಬಳಕೆದಾರನ ಹೆಸರು ಅಥವಾ ಪ್ರವೇಶ ಪದ ತಪ್ಪಾಗಿದೆ "
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "ಸಂರಚನೆ ಮುಂದುವರೆಸಲು ಒಳಪ್ರವೇಶಿಸಿ"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "ಬರೆದ ಪ್ರವೇಶ ಪದಗಳು ಹೋಲಲಿಲ್ಲ "
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "ಪ್ರಸ್ತುತ ಪ್ರವೇಶ ಪದ ತಪ್ಪಾಗಿದೆ"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "ಪ್ರವೇಶ ಪದ ಬದಲಣೆ ಸಫಲವಾಯಿತು"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "ಬಳಕೆದಾರನ ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "ಬಳಕೆದಾರನ ಪಾತ್ರ ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "ಬರೆದ ಪ್ರವೇಶ ಪದಗಳು ಹೋಲಲಿಲ್ಲ "
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "ಈ ಬಳಕೆದಾರನ ಹೆಸರು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇದೆ"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "ಬಳಕೆದಾರನ ಹೆಸರನ್ನು ಸೃಷ್ಟನೆ ಸಂಪೂರ್ಣವಾಯಿತು"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "ಈ ಬಳಕೆದಾರನ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "ಬಳಕೆದಾರನ ಹೆಸರನ್ನು ಅಳಿಸಲಾಯಿತು"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "ಈ ಬಳಕೆದಾರನ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "ಈ ಪಾತ್ರದ ಹೆಸರನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "ಈ ಬಳಕೆದಾರನ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "ಈ ಪಾತ್ರದ ಹೆಸರನ್ನು ಅಳಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "ಬಳಕೆದಾರನ ಪಾತ್ರ ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "ಚಟುವಟಿಕೆ ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇದೆ"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "ಈ ಪಾತ್ರದ ಹೆಸರನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "ಈ ಪಾತ್ರದ ಹೆಸರನ್ನು ಅಳಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "ಈ ಚಟುವಟಿಕೆಯ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "ಈ ಚಟುವಟಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "ಈ ಪಾತ್ರದ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "ಈ ಚಟುವಟಿಕೆಯ ಹೆಸರು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "ಈ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "ಹೊಸ ಕ್ರಾವ್ಲ್  ಪ್ರಾರಂಬಿಸುತಿದ್ದಿವಿ"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "ಕ್ರಾವ್ಲಿನ ವಿವರಣೆ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "ಕ್ರಾವ್ಲನ್ನು ನಿಲ್ಲಿಸುತಿದ್ದಿವಿ...ಈ ತೆರೆ ಸ್ವಲ್ಪ ಕ್ಷಣಗಳ ನಂತರ ಮಾರ್ಪಡುವುದು "
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "ಕ್ರಾವ್ಲನ್ನು ಮರುಚಾಲಿಸುತಿದ್ದಿ...ಈ ತೆರೆ ಸ್ವಲ್ಪ ಕ್ಷಣಗಳ ನಂತರ ಮಾರ್ಪಡುವುದು "
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "ಕ್ರಾವ್ಲನ್ನು ಅಳಿಸುತಿದ್ದಿವಿ...ಈ ತೆರೆ ಸ್ವಲ್ಪ ಕ್ಷಣಗಳ ನಂತರ ಮಾರ್ಪಡುವುದು"
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "ಕ್ರಾವ್ಲನ್ನು ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ!! "
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = "ಸೂಚಿಕೆಯಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ"
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = "ಐಚ್ಛಿಕ ಆಯ್ಕೆ ಉಪಯೋಗಿಸಿ"
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = "ಯೂಪ್ ನ ಪೂರ್ವನಿಯೋಜಿತ ನಿಗದಿಗಳನ್ನು ಉಪಯೋಗಿಸಿ"
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = "ಐಚ್ಛಿಕ ಆಯ್ಕೆ ಉಪಯೋಗಿಸಿ"
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = "ಮೊದಲಿನ ಕ್ರಾವ್ಲ:"
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "ಅಗಲ ಮೊದಲಾಗಿ"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "ಪುಟ ಪ್ರಾಮುಖ್ಯತೆ"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = "ಮೂಲ ವೆಬ್ ಸೈಟಿನ ಮಾಹಿತಿಯನ್ನು ಪರಿಷ್ಕರಿಸಲಾಗುತ್ತಿದೆ"
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = "ಕ್ರಾವ್ಲನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = "ಕ್ರಾವ್ಲನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = "ಹೆಸರಿಡದ ಕ್ರಾವ್ಲ"
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = "ಕ್ರಾವ್ಲಗಳ ಮಿಶ್ರಣ ಸೃಜಿಸಲಾಯಿತು"
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = "ಸೂಚಿಕೆಯಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ"
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = "ಅಳಿಸಬೇಕಾದ ಕ್ರಾವ್ಲ ಮಿಶ್ರಣ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = "ಕ್ರಾವ್ಲ ಮಿಶ್ರಣ ಅಳಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = "ಕ್ರಾವ್ಲಗಳನ್ನು ಸೇರಿಸಿ"
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = "ಫಲಿತಾಂಶಗಳ ಸಂಖ್ಯೆ"
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = "ಗುಂಪನ್ನು ಅಳಿಸು"
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = "ಗೌರವ"
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = "ಹೆಸರು"
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = "ಮುಖ್ಯ ಪದ"
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = "ಕ್ರಿಯೆಗಳು"
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = "ಪ್ರಶ್ನೆಯನ್ನು ಸೇರಿಸು"
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = "ಅಳಿಸು"
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = "ಕ್ರಾವ್ಲ್ ಮಿಶ್ರಣದಲ್ಲಿ ಬದಲಾವಣೆಯನ್ನು ಉಳಿಸು"
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = "ಸೋಸಿದ ವೆಬ್ ಸೈಟಗಳನ್ನು ಪರಿಷ್ಕರಿಸಲಾಯಿತು"
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "ಪ್ರದೇಶದ ಶಿಷ್ಟತೆ ಆಯ್ಕೆ ಮಾಡಿ"
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "ಪ್ರದೇಶದ ಶಿಷ್ಟತೆ ಸೇರಿಸಲಾಗಿದೆ"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "ಈ ಪ್ರದೇಶದ ಶಿಷ್ಟತೆ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲ"
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "ಪ್ರದೇಶದ ಶಿಷ್ಟತೆ ಅಳಿಸಲಾಗಿದೆ "
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = "ಪ್ರದೇಶ ಶಿಷ್ಟತೆಯ ಅಕ್ಷರ ಸಮೂಹವನ್ನು ಪರಿಷ್ಕರಿಸಲಾಯಿತು"
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = "configs/config.php ವೆಬ್ ಸರ್ವರ್ ನಿಂದ ಬರೆಯಲು ಸಶಕ್ತವಲ್ಲ"
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = "ಕಾರ್ಯ ನಿರ್ದೇಶಿಕೆ ವೆಬ್ ಸರ್ವರ್ ನಿಂದ ಬರೆಯಲು ಸಶಕ್ತವಾಗಿರಬೇಕು"
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = "php.ini ಕಡಿತದ ಚರಾಂಶ post_max_size ಕನಿಷ್ಠ ಪಕ್ಷ ೧೬ ಎಂ.ಬಿ. ಇರಬೇಕು"
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = "ಬರುವ ಅವಶ್ಯಕವಸ್ತುಗಳು ತಪ್ಪಿಹೋಗಿದ್ದಾವೆ:"
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = "ಬರುವ ಕಡ್ಡಾಯವಲ್ಲದ ವಸ್ತುಗಳು ತಪ್ಪಿಹೋಗಿದ್ದಾವೆ:"
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = "ಪರಿಶೀಲನೆ ತೇರ್ಗಡೆಯಾಗಿದೆ"
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = "configs/local_config.php ಉಪಯೋಗದಲ್ಲಿದೆ, ಅದರಿಂದ ಮೇಲಿನ ಕಾರ್ಯ ನಿರ್ದೇಶಿಕೆಯನ್ನು ಬದಲಾವಣೆ ನಿಷ್ಕ್ರಿಯವಾಗಬಹುದು "
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = "ಕಾರ್ಯ ನಿರ್ದೇಶಿಕೆಯನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆ!  ನೀವು ಮರು ಪ್ರವೇಶಿಸಬೇಕಾಗಬಹುದು"
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "ಹಿಂದಿನ"
 ; pagination_helper.php line: 109
 pagination_helper_next = "ಮುಂದಿನ"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = "ಸಮಯ: %s ಸೆಕೆಂಡುಗಳು"
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/kn/statistics.txt b/locale/kn/statistics.txt
index e603ea111..b26155324 100755
--- a/locale/kn/statistics.txt
+++ b/locale/kn/statistics.txt
@@ -1 +1 @@
-d:33;
\ No newline at end of file
+d:31;
\ No newline at end of file
diff --git a/locale/ko/configure.ini b/locale/ko/configure.ini
index ad6c9c5c1..8ff838feb 100755
--- a/locale/ko/configure.ini
+++ b/locale/ko/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "로그인 성공!!!"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "로그인 실패!!!"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "관리 (default: u=root, p=)"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "비밀 번호가 일치하지 않습니다."
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "아이디나 비밀번호가 부정확 합니다."
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "비밀 번호를 성공적으로 변경하였습니다."
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "아이디를 선택하여 지정해 주십시요."
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "사용자 권한을 선택해 지정해 주십시요."
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "비밀 번호가 일치하지 않습니다."
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "동일 아이디가 존재하여 생성을 실패하였습니다."
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "아이디를 성공적으로 생성하였습니다."
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "아이디가 존재 하지 않습니다."
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "사용자를 삭제했습니다."
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "아이디가 존재 하지 않습니다."
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "사용자 권한 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "사용자 권한 이름을 추가하였습니다."
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "아이디가 존재 하지 않습니다."
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "사용자 권한 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "사용자 권한이름을 삭제하였습니다."
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "사용자 권한을 선택해 지정해 주십시요."
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "엑티비티 이름을 선택해 주십시요."
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "동일 권한 이름이 존재 합니다."
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "사용자 권한 이름을 추가하였습니다."
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "사용자 권한 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "사용자 권한이름을 삭제하였습니다."
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "사용자 권한 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "엑티비티 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "엑티비티를 추가했습니다."
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "사용자 권한 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "엑티비티 이름이 존재하지 않습니다."
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "엑티비티를 삭제 했습니다."
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "크롤 시작!!"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "크롤에 대한 설명이 존재 하지 않습니다."
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "크롤을 중지합니다.  잠시만 기다려 주십시요."
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "크롤을 다시 시작합니다. 잠시만 기다려 주십시요."
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "크롤을 삭제합니다. 잠시만 기다려 주십시요."
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "크롤 삭제 실패!!"
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = "크롤을 인덱스로써 사용하기 지정"
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "너비 우선"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "페이지 중요성"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = "씨드 사이트 업데이트"
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = "크롤을 인덱스로써 사용하기 지정"
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "로케일을 선택하여 주십시요."
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "로케일 추가!!"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "로케일이 존재하지 않습니다."
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "로케일을 삭제 하였습니다."
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = "로케일 지정 문자열을 업데이트 하였습니다."
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = "작업 디렉토리가 지정 됐습니다. 다시 로그인이 필요할수 있습니다."
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = "로봇 이름을 정해 주십시요."
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = "작업 디렉토리와 프로필이 생성됐습니다."
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = "config.php 파일을  업데이트 실패했습니다."
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = "프로필을 생성할수 없습니다."
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = "작업 디렉토리가 올바르지 않습니다. 프로필을 생성할수 없습니다."
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = "작업 디렉토리가 올바르지 않습니다. 프로필을 생성할수 없습니다."
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = "데이터베이스를 업데이트하는데 문제가 발생했습니다."
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = "프로필을 업데이트 했습니다."
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = "프로필을 업데이트하는데 문제가 발생했습니다."
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = "당신의 로봇을 기술해 주십시요."
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "계정 비밀번호 변경하기"
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "롤 추가"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "이전"
 ; pagination_helper.php line: 109
 pagination_helper_next = "다음"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = "퀘리: %s 초."
 ; web_layout.php line: 93
 web_layout_query_time = "시간: %s 초."
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = "요청하신 아이템의 캐시가 없었습니다."
 ;
diff --git a/locale/ko/statistics.txt b/locale/ko/statistics.txt
index 740ef1647..0bc1840c9 100755
--- a/locale/ko/statistics.txt
+++ b/locale/ko/statistics.txt
@@ -1 +1 @@
-d:61;
\ No newline at end of file
+d:57;
\ No newline at end of file
diff --git a/locale/pl/configure.ini b/locale/pl/configure.ini
index 41be0710c..2fe58528e 100755
--- a/locale/pl/configure.ini
+++ b/locale/pl/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/pt/configure.ini b/locale/pt/configure.ini
index 85ae6d9ac..393dc80d3 100755
--- a/locale/pt/configure.ini
+++ b/locale/pt/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/ru/configure.ini b/locale/ru/configure.ini
index 44ecb356e..ae4845f31 100755
--- a/locale/ru/configure.ini
+++ b/locale/ru/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/th/configure.ini b/locale/th/configure.ini
index 8e972ec36..3d93942f4 100755
--- a/locale/th/configure.ini
+++ b/locale/th/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = ""
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = ""
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = ""
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/vi-VN/configure.ini b/locale/vi-VN/configure.ini
index bdc9f1cd3..450f41c3c 100755
--- a/locale/vi-VN/configure.ini
+++ b/locale/vi-VN/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "Đăng nhập th&agrave;nh c&ocirc;ng"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "T&ecirc;n đăng nhập họăc khẩu kh&ocirc;ng đ&uacute;ng"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = "đăng nhập để cấu h&igrave;nh"
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "Những mật khẩu đ&atilde; nhập kh&ocirc;ng tr&ugrave;ng nhau"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "Mật khẩu cũ bị sai"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "Thay đổi mật khẩu"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "Chọn t&ecirc;n sử dụng"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "Chọn chức vụ"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "Những mật khẩu đ&atilde; nhập kh&ocirc;ng tr&ugrave;ng nhau"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "T&ecirc;n sử dụng tồn tại"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "T&ecirc;n sử dụng đ&atilde; đựơc tạo"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "T&ecirc;n sử dụng kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "X&oacute;a t&ecirc;n sử dụng"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "T&ecirc;n sử dụng kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "Chức vụ kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "Cộng th&ecirc;m chức vụ "
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "T&ecirc;n sử dụng kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "Chức vụ kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "X&oacute;a chức vụ"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "Chọn chức vụ"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = "Lựa chọn họat động"
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "Chức vụ đ&atilde; đựơc d&ugrave;ng"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "Cộng th&ecirc;m chức vụ "
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "Chức vụ kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "X&oacute;a chức vụ"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "Chức vụ kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = "T&ecirc;n hoạt động kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = "Bổ sung t&ecirc;n hoạt động "
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "Chức vụ kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = "T&ecirc;n hoạt động kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = "X&oacute;a t&ecirc;n hoạt động"
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "Bắt đầu sự b&ograve; mới"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "Kh&ocirc;ng c&oacute; sự m&ocirc; tả n&agrave;o"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "Ngừng thu thập dữ liệu"
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "Tiếp tục thu thập dữ liệu"
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "X&oacute;a thu thập dữ liệu th&agrave;nh c&ocirc;ng"
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "X&oacute;a thu thập dữ liệu kh&ocirc;ng th&agrave;nh c&ocirc;ng"
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = "Thiết lập thu thập dữ liệu để sử dụng l&agrave;m chỉ mục"
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = "Sử dụng dưới đ&acirc;y"
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = "Sử dụng mặc định"
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = "Sử dụng dưới đ&acirc;y"
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = "trước thu thập dữ liệu"
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "Bề rộng đầu ti&ecirc;n"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "Trang quan trọng"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = "Cập nhật th&ocirc;ng tin trang web hạt giống"
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = "Chọn thu thập th&ocirc;ng tin"
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = "Chọn thu thập th&ocirc;ng tin"
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = "V&ocirc; danh"
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = "Tạo ra hỗn hợp "
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = "Thiết lập thu thập dữ liệu để sử dụng l&agrave;m chỉ mục"
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = "Kết hợp n&agrave;y kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = "X&oacute;a kết hợp "
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = "Cộng th&ecirc;m thu thập"
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = "Số kết quả"
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = "Nh&oacute;m bị x&oacute;a "
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = "Trọng lượng"
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = "T&ecirc;n"
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = "Từ kh&oacute;a "
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = "H&agrave;nh động"
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = "Cộng th&ecirc;m truy vấn"
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = "X&oacute;a"
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = "Kết hợp đ&atilde; được lưu dữ"
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = "Cập nhật c&aacute;c trang web lọc"
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = "Chọn miền địa phương"
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = "Miền địa phương th&ecirc;m v&agrave;o"
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = "Miền địa phương kh&ocirc;ng tồn tại"
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = "X&oacute;a miền địa phương"
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = "Chuỗi Địa phương được cập nhật"
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = "Kiểm tra được th&ocirc;ng qua"
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = "C&ocirc;ng việc thiết lập thư mục bị đ&ocirc;ng cứng (Bạn c&oacute; thể cần phải đăng nhập)"
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = "Đặt t&ecirc;n cho r&ocirc; b&ocirc; của bạn"
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = "Thư mục l&agrave;m việc v&agrave; hồ sơ được tạo ra"
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = "Kh&ocirc;ng thể cập nhật hồ sơ config.php"
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = "Kh&ocirc;ng thể tạo hồ sơ"
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = "C&ocirc;ng t&aacute;c thư mục kh&ocirc;ng hợp lệ"
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = "C&ocirc;ng t&aacute;c thư mục kh&ocirc;ng hợp lệ"
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = "Vấn đề cập nhật cơ sở dữ liệu"
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = "Hồ sơ được cập nhật"
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = "C&oacute; sự trở ngaị về việc cập nhật hồ sơ "
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = "Diễn tả r&ocirc; b&ocirc; của bạn"
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "Thay đổi mật khẩu t&agrave;i khoản"
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "Th&ecirc;m chức vụ"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = "Trang trước"
 ; pagination_helper.php line: 109
 pagination_helper_next = "Trang kế tiếp"
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = "Thời gian: %s gi&acirc;y"
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = "Kh&ocirc;ng t&igrave;m thấy trang gốc m&agrave; bạn muốn t&igrave;m kiếm."
 ;
diff --git a/locale/vi-VN/statistics.txt b/locale/vi-VN/statistics.txt
index 9602e5a6f..2bc958784 100755
--- a/locale/vi-VN/statistics.txt
+++ b/locale/vi-VN/statistics.txt
@@ -1 +1 @@
-d:53;
\ No newline at end of file
+d:50;
\ No newline at end of file
diff --git a/locale/zh-CN/configure.ini b/locale/zh-CN/configure.ini
index be747ff4f..baced93f7 100755
--- a/locale/zh-CN/configure.ini
+++ b/locale/zh-CN/configure.ini
@@ -28,283 +28,310 @@
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//controllers
 ;
-; admin_controller.php line: 127
+; admin_controller.php line: 128
 admin_controller_login_successful = "登入成功"
 ;
-; admin_controller.php line: 132
+; admin_controller.php line: 133
 admin_controller_login_failed = "登入失敗"
 ;
-; admin_controller.php line: 137
+; admin_controller.php line: 138
 admin_controller_login_to_config = ""
 ;
-; admin_controller.php line: 327
+; admin_controller.php line: 350
 admin_controller_passwords_dont_match = "密碼錯誤"
 ;
-; admin_controller.php line: 337
+; admin_controller.php line: 360
 admin_controller_invalid_old_password = "密碼無效"
 ;
-; admin_controller.php line: 344
+; admin_controller.php line: 367
 admin_controller_change_password = "改變密碼"
 ;
-; admin_controller.php line: 375
+; admin_controller.php line: 398
 admin_controller_select_username = "使用者名稱"
 ;
-; admin_controller.php line: 412
+; admin_controller.php line: 435
 admin_controller_select_rolename = "暱稱"
 ;
-; admin_controller.php line: 438
+; admin_controller.php line: 461
 admin_controller_passwords_dont_match = "密碼錯誤"
 ;
-; admin_controller.php line: 445
+; admin_controller.php line: 468
 admin_controller_username_exists = "使用者已存在"
 ;
-; admin_controller.php line: 452
+; admin_controller.php line: 475
 admin_controller_username_added = "新增使用者"
 ;
-; admin_controller.php line: 461
+; admin_controller.php line: 484
 admin_controller_username_doesnt_exists = "此使用者不存在"
 ;
-; admin_controller.php line: 468
+; admin_controller.php line: 491
 admin_controller_username_deleted = "刪除使用者"
 ;
-; admin_controller.php line: 475
+; admin_controller.php line: 498
 admin_controller_username_doesnt_exists = "此使用者不存在"
 ;
-; admin_controller.php line: 481
+; admin_controller.php line: 504
 admin_controller_rolename_doesnt_exists = "無此暱稱"
 ;
-; admin_controller.php line: 487
+; admin_controller.php line: 510
 admin_controller_rolename_added = "增加暱稱"
 ;
-; admin_controller.php line: 498
+; admin_controller.php line: 521
 admin_controller_username_doesnt_exists = "此使用者不存在"
 ;
-; admin_controller.php line: 504
+; admin_controller.php line: 527
 admin_controller_rolename_doesnt_exists = "無此暱稱"
 ;
-; admin_controller.php line: 514
+; admin_controller.php line: 537
 admin_controller_rolename_deleted = "刪除暱稱"
 ;
-; admin_controller.php line: 544
+; admin_controller.php line: 567
 admin_controller_select_rolename = "暱稱"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 602
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 612
+; admin_controller.php line: 635
 admin_controller_rolename_exists = "此暱稱已存在"
 ;
-; admin_controller.php line: 622
+; admin_controller.php line: 645
 admin_controller_rolename_added = "增加暱稱"
 ;
-; admin_controller.php line: 633
+; admin_controller.php line: 656
 admin_controller_rolename_doesnt_exists = "無此暱稱"
 ;
-; admin_controller.php line: 641
+; admin_controller.php line: 664
 admin_controller_rolename_deleted = "刪除暱稱"
 ;
-; admin_controller.php line: 647
+; admin_controller.php line: 670
 admin_controller_rolename_doesnt_exists = "無此暱稱"
 ;
-; admin_controller.php line: 653
+; admin_controller.php line: 676
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 663
+; admin_controller.php line: 686
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 669
+; admin_controller.php line: 692
 admin_controller_rolename_doesnt_exists = "無此暱稱"
 ;
-; admin_controller.php line: 676
+; admin_controller.php line: 699
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 688
+; admin_controller.php line: 711
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 722
+; admin_controller.php line: 745
 admin_controller_starting_new_crawl = "開始新的搜尋"
 ;
-; admin_controller.php line: 769
+; admin_controller.php line: 792
 admin_controller_no_description = "沒有任何項目"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 817
 admin_controller_stop_crawl = "停止搜尋,需要一段時間更新"
 ;
-; admin_controller.php line: 800
+; admin_controller.php line: 823
 admin_controller_resume_crawl = "回復搜尋,需要一段時間更新"
 ;
-; admin_controller.php line: 824
+; admin_controller.php line: 847
 admin_controller_delete_crawl_success = "刪除搜尋,需要一段時間更新"
 ;
-; admin_controller.php line: 829
+; admin_controller.php line: 852
 admin_controller_delete_crawl_fail = "刪除搜尋失敗"
 ;
-; admin_controller.php line: 836
+; admin_controller.php line: 859
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 850
+; admin_controller.php line: 873
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 851
+; admin_controller.php line: 874
 admin_controller_use_defaults = ""
 ;
-; admin_controller.php line: 853
+; admin_controller.php line: 876
 admin_controller_use_below = ""
 ;
-; admin_controller.php line: 856
+; admin_controller.php line: 879
 admin_controller_previous_crawl = ""
 ;
-; admin_controller.php line: 934
+; admin_controller.php line: 957
 admin_controller_breadth_first = "深度優先"
 ;
-; admin_controller.php line: 936
+; admin_controller.php line: 959
 admin_controller_page_importance = "網頁重要性"
 ;
-; admin_controller.php line: 1068
+; admin_controller.php line: 1091
 admin_controller_urls_injected = ""
 ;
-; admin_controller.php line: 1079
+; admin_controller.php line: 1102
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 1154
+; admin_controller.php line: 1177
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1156
+; admin_controller.php line: 1179
 admin_controller_select_crawl = ""
 ;
-; admin_controller.php line: 1184
+; admin_controller.php line: 1207
 admin_controller_unnamed = ""
 ;
-; admin_controller.php line: 1189
+; admin_controller.php line: 1212
 admin_controller_mix_created = ""
 ;
-; admin_controller.php line: 1198
+; admin_controller.php line: 1221
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 1208
+; admin_controller.php line: 1231
 admin_controller_mix_doesnt_exists = ""
 ;
-; admin_controller.php line: 1216
+; admin_controller.php line: 1239
 admin_controller_mix_deleted = ""
 ;
-; admin_controller.php line: 1252
+; admin_controller.php line: 1275
 editmix_element_add_crawls = ""
 ;
-; admin_controller.php line: 1254
+; admin_controller.php line: 1277
 editmix_element_num_results = ""
 ;
-; admin_controller.php line: 1255
+; admin_controller.php line: 1278
 editmix_element_del_grp = ""
 ;
-; admin_controller.php line: 1256
+; admin_controller.php line: 1279
 editmix_element_weight = ""
 ;
-; admin_controller.php line: 1257
+; admin_controller.php line: 1280
 editmix_element_name = ""
 ;
-; admin_controller.php line: 1258
+; admin_controller.php line: 1281
 editmix_add_keywords = ""
 ;
-; admin_controller.php line: 1259
+; admin_controller.php line: 1282
 editmix_element_actions = ""
 ;
-; admin_controller.php line: 1260
+; admin_controller.php line: 1283
 editmix_add_query = ""
 ;
-; admin_controller.php line: 1261
+; admin_controller.php line: 1284
 editmix_element_delete = ""
 ;
-; admin_controller.php line: 1313
+; admin_controller.php line: 1336
 admin_controller_mix_saved = ""
 ;
-; admin_controller.php line: 1384
+; admin_controller.php line: 1407
 admin_controller_recrawl_never = ""
 ;
-; admin_controller.php line: 1385
+; admin_controller.php line: 1408
 admin_controller_recrawl_1day = ""
 ;
-; admin_controller.php line: 1386
+; admin_controller.php line: 1409
 admin_controller_recrawl_2day = ""
 ;
-; admin_controller.php line: 1387
+; admin_controller.php line: 1410
 admin_controller_recrawl_3day = ""
 ;
-; admin_controller.php line: 1388
+; admin_controller.php line: 1411
 admin_controller_recrawl_7day = ""
 ;
-; admin_controller.php line: 1389
+; admin_controller.php line: 1412
 admin_controller_recrawl_14day = ""
 ;
-; admin_controller.php line: 1472
+; admin_controller.php line: 1495
 admin_controller_site_filter_update = ""
 ;
-; admin_controller.php line: 1528
+; admin_controller.php line: 1534
+admin_controller_select_machine = ""
+;
+; admin_controller.php line: 1588
+admin_controller_machine_added = ""
+;
+; admin_controller.php line: 1595
+admin_controller_machine_exists = ""
+;
+; admin_controller.php line: 1599
+admin_controller_machine_incomplete = ""
+;
+; admin_controller.php line: 1608
+admin_controller_machine_doesnt_exists = ""
+;
+; admin_controller.php line: 1621
+admin_controller_machine_deleted = ""
+;
+; admin_controller.php line: 1646
+admin_controller_no_machine_log = ""
+;
+; admin_controller.php line: 1665
+admin_controller_machine_servers_updated = ""
+;
+; admin_controller.php line: 1669
+admin_controller_machine_no_action = ""
+;
+; admin_controller.php line: 1700
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 1571
+; admin_controller.php line: 1743
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 1578
+; admin_controller.php line: 1750
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 1587
+; admin_controller.php line: 1759
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 1607
+; admin_controller.php line: 1779
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 1668
+; admin_controller.php line: 1840
 admin_controller_no_write_config_php = ""
 ;
-; admin_controller.php line: 1673
+; admin_controller.php line: 1845
 admin_controller_no_write_work_dir = ""
 ;
-; admin_controller.php line: 1678
+; admin_controller.php line: 1850
 admin_controller_post_size_small = ""
 ;
-; admin_controller.php line: 1684
+; admin_controller.php line: 1856
 admin_controller_missing_required = ""
 ;
-; admin_controller.php line: 1707
+; admin_controller.php line: 1879
 admin_controller_missing_optional = ""
 ;
-; admin_controller.php line: 1712
+; admin_controller.php line: 1884
 admin_controller_check_passed = ""
 ;
-; admin_controller.php line: 1717
+; admin_controller.php line: 1889
 admin_controller_using_local_config = ""
 ;
-; admin_controller.php line: 1787
+; admin_controller.php line: 1959
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1799
+; admin_controller.php line: 1971
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1808
+; admin_controller.php line: 1980
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1816
+; admin_controller.php line: 1988
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1827
+; admin_controller.php line: 1999
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1836
+; admin_controller.php line: 2008
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1847
+; admin_controller.php line: 2019
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1925
+; admin_controller.php line: 2097
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1939
+; admin_controller.php line: 2111
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1953
+; admin_controller.php line: 2125
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1989
+; admin_controller.php line: 2161
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 132
@@ -659,6 +686,12 @@ mixcrawls_element_add_group = ""
 ; editmix_element.php line: 86
 mixcrawls_element_save_button = ""
 ;
+; machinelog_element.php line: 60
+machinelog_element_back_to_manage = ""
+;
+; machinelog_element.php line: 62
+machinelog_element_log_file = ""
+;
 ; manageaccount_element.php line: 56
 manageaccount_element_change_password = "變更密碼"
 ;
@@ -752,15 +785,24 @@ managemachines_element_submit = ""
 ; managemachines_element.php line: 88
 managemachines_element_delete_machine = ""
 ;
-; managemachines_element.php line: 98
+; managemachines_element.php line: 97
 managemachines_element_machine_name = ""
 ;
+; managemachines_element.php line: 101
+admin_controller_select_machine = ""
+;
 ; managemachines_element.php line: 103
 managemachines_element_submit = ""
 ;
-; managemachines_element.php line: 107
+; managemachines_element.php line: 108
 managemachines_element_machine_info = ""
 ;
+; managemachines_element.php line: 111
+managemachines_element_awaiting_status = ""
+;
+; managemachines_element.php line: 128
+managemachines_element_no_longer_update = ""
+;
 ; manageroles_element.php line: 57
 manageroles_element_add_role = "新增使用者"
 ;
@@ -919,6 +961,18 @@ pagination_helper_previous = ""
 ; pagination_helper.php line: 109
 pagination_helper_next = ""
 ;
+; toggle_helper.php line: 64
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 66
+toggle_helper_off = ""
+;
+; toggle_helper.php line: 69
+toggle_helper_on = ""
+;
+; toggle_helper.php line: 70
+toggle_helper_off = ""
+;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views/layouts
 ;
 ; rss_layout.php line: 64
@@ -942,6 +996,27 @@ web_layout_total_elapsed_time = ""
 ; web_layout.php line: 93
 web_layout_query_time = ""
 ;
+; machinestatus_view.php line: 65
+machinestatus_view_no_monitored = ""
+;
+; machinestatus_view.php line: 80
+machinestatus_view_queue_server = ""
+;
+; machinestatus_view.php line: 82
+machinestatus_view_log = ""
+;
+; machinestatus_view.php line: 91
+machinestatus_view_no_queue_server = ""
+;
+; machinestatus_view.php line: 94
+machinestatus_view_no_fetchers = ""
+;
+; machinestatus_view.php line: 104
+machinestatus_view_fetchers = ""
+;
+; machinestatus_view.php line: 113
+machinestatus_view_log = ""
+;
 ; nocache_view.php line: 65
 nocache_view_no_cache = ""
 ;
diff --git a/locale/zh-CN/statistics.txt b/locale/zh-CN/statistics.txt
index 9ee7cbacd..208359ec6 100755
--- a/locale/zh-CN/statistics.txt
+++ b/locale/zh-CN/statistics.txt
@@ -1 +1 @@
-d:22;
\ No newline at end of file
+d:21;
\ No newline at end of file
diff --git a/models/machine_model.php b/models/machine_model.php
new file mode 100644
index 000000000..4517da981
--- /dev/null
+++ b/models/machine_model.php
@@ -0,0 +1,214 @@
+<?php
+/**
+ *  SeekQuarry/Yioop --
+ *  Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ *  Copyright (C) 2009 - 2012  Chris Pollett chris@pollett.org
+ *
+ *  LICENSE:
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *  END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage model
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009 - 2012
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/** Loads base model class if necessary*/
+require_once BASE_DIR."/models/model.php";
+/** For crawlHash function */
+require_once BASE_DIR."/lib/utility.php";
+/** Used to fetches web pages to get statuses of individual machines*/
+require_once BASE_DIR."/lib/fetch_url.php";
+
+/**
+ * This is class is used to handle
+ * db results related to Machine Administration
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage model
+ */
+class MachineModel extends Model
+{
+
+
+    /**
+     *  {@inheritdoc}
+     */
+    function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     *  Returns all the machine names stored in the DB
+     *
+     *  @return array machine names
+     */
+    function getMachineList()
+    {
+        $this->db->selectDB(DB_NAME);
+
+        $roles = array();
+
+        $sql = "SELECT * FROM MACHINE ORDER BY NAME DESC";
+
+        $result = $this->db->execute($sql);
+        $i = 0;
+
+        while($roles[$i] = $this->db->fetchArray($result)) {
+            $i++;
+        }
+        unset($roles[$i]); //last one will be null
+
+
+        return $roles;
+
+    }
+
+    /**
+     *  Add a rolename to the database using provided string
+     *
+     *  @param string $name  the name of the machine to be added
+     *  @param string $url the url of this machine
+     *  @param boolean $has_queue_server - whether this machine is running a
+     *      queue_server
+     *  @param int $num_fetchers - how many managed fetchers are on this
+     *      machine.
+     */
+    function addMachine($name, $url, $has_queue_server, $num_fetchers)
+    {
+        $this->db->selectDB(DB_NAME);
+        if($has_queue_server == true) {
+            $has_string = "TRUE";
+        } else {
+            $has_string = "FALSE";
+        }
+        $sql = "INSERT INTO MACHINE VALUES ('".
+            $this->db->escapeString($name)."',
+            '".$this->db->escapeString($url)."',
+            '".$has_string."',
+            '".$this->db->escapeString($num_fetchers)."')";
+
+        $this->db->execute($sql);
+    }
+
+    /**
+     *  Delete a machine by its name
+     *
+     *  @param string name - the name of the machine to delete
+     */
+    function deleteMachine($machine_name)
+    {
+        $this->db->selectDB(DB_NAME);
+        $sql = "DELETE FROM MACHINE WHERE NAME='$machine_name'";
+        $this->db->execute($sql);
+
+    }
+
+    /**
+     * Returns the statuses of machines in the machine table of their
+     * fetchers and queue_server as well as the name and url's of these machines
+     */
+    function getMachineStatuses()
+    {
+        $machines = $this->getMachineList();
+        $num_machines = count($machines);
+        $time = time();
+        $session = md5($time . AUTH_KEY);
+        for($i = 0; $i < $num_machines; $i++) {
+            $machines[$i][CrawlConstants::URL] =
+                $machines[$i]["URL"] ."?c=machine&a=statuses&time=$time".
+                "&session=$session";
+        }
+        $statuses = FetchUrl::getPages($machines, true);
+        for($i = 0; $i < $num_machines; $i++) {
+            foreach($statuses as $status) {
+                if($machines[$i][CrawlConstants::URL] ==
+                    $status[CrawlConstants::URL]) {
+                    $machines[$i]["STATUSES"] =
+                        json_decode($status[CrawlConstants::PAGE], true);
+                }
+            }
+        }
+        return $machines;
+    }
+
+    /**
+     *  Get either a fetcher or queue_server log for a machine
+     *
+     *  @param string name  the name of the machine to get the log file for
+     *  @param int $fetcher_num  if a fetcher, which instance on the machine
+     *  @return string containing the last MachineController::LOG_LISTING_LEN
+     *      bytes of the log record
+     */
+    function getLog($machine_name, $fetcher_num = NULL)
+    {
+        $time = time();
+        $session = md5($time . AUTH_KEY);
+        $sql = "SELECT URL FROM MACHINE WHERE NAME='$machine_name'";
+
+        $result = $this->db->execute($sql);
+        $row = $this->db->fetchArray($result);
+        if($row) {
+            $url = $row["URL"]. "?c=machine&a=log&time=$time".
+                "&session=$session";
+            if($fetcher_num !== NULL) {
+                $url .= "&fetcher_num=$fetcher_num";
+            }
+            $log_data = json_decode(FetchUrl::getPage($url));
+        } else {
+            $log_data = "";
+        }
+        return $log_data;
+    }
+
+    /**
+     * Used to start or stop a queue_server or fetcher instance on
+     * a machine managed by the current one
+     *
+     * @param string $machine_name name of machine
+     */
+    function update($machine_name, $action, $fetcher_num = NULL)
+    {
+        $value = ($action == "start") ? "true" : "false";
+        $time = time();
+        $session = md5($time . AUTH_KEY);
+        $sql = "SELECT URL FROM MACHINE WHERE NAME='$machine_name'";
+
+        $result = $this->db->execute($sql);
+        $row = $this->db->fetchArray($result);
+        if($row) {
+            $url = $row["URL"]. "?c=machine&a=update&time=$time".
+                "&session=$session";
+            if($fetcher_num !== NULL) {
+                $url .= "&fetcher[$fetcher_num]=$value";
+            } else {
+                $url .= "&queue_server=$value";
+            }
+            echo FetchUrl::getPage($url);
+        }
+    }
+}
+
+ ?>
diff --git a/scripts/basic.js b/scripts/basic.js
index 9e2d54bb8..c8550e7cd 100755
--- a/scripts/basic.js
+++ b/scripts/basic.js
@@ -104,7 +104,6 @@ function getPage(tag, url)
                 tag.innerHTML = self.request.responseText;
             }
         }
-
         request.open("GET", url, true);

         request.send();
diff --git a/views/admin_view.php b/views/admin_view.php
index 543da0424..f79d8163b 100755
--- a/views/admin_view.php
+++ b/views/admin_view.php
@@ -55,7 +55,7 @@ class AdminView extends View
         "managecrawls", "manageaccount", "manageusers", "manageroles",
         "mixcrawls", "managelocales", "editlocales", "crawloptions",
         "editmix", "pageoptions", "searchfilters",
-        "managemachines", "configure");
+        "managemachines", "machinelog", "configure");
     /** Names of helper objects that the view uses to help draw itself
      *  @var array
      */
diff --git a/views/elements/machinelog_element.php b/views/elements/machinelog_element.php
new file mode 100644
index 000000000..73e524641
--- /dev/null
+++ b/views/elements/machinelog_element.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ *  SeekQuarry/Yioop --
+ *  Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ *  Copyright (C) 2009 - 2012  Chris Pollett chris@pollett.org
+ *
+ *  LICENSE:
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *  END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage element
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009 - 2012
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/**
+ * Element responsible for displaying the queue_server or fetcher log
+ * of a machine
+ *
+ * @author Chris Pollett
+ *
+ * @package seek_quarry
+ * @subpackage element
+ */
+
+class MachinelogElement extends Element
+{
+
+    /**
+     * Draws the log file of a queue_server or a fetcher
+     *
+     * @param array $data LOG_FILE_DATA has the log data
+     */
+    public function render($data)
+    {
+    ?>
+        <div class="currentactivity">
+        <div class="<?php e($data['leftorright']);?>">
+        <a href="?c=admin&amp;a=manageMachines&amp;YIOOP_TOKEN=<?php
+            e($data['YIOOP_TOKEN']) ?>"
+        ><?php e(tl('machinelog_element_back_to_manage'))?></a>
+        </div>
+        <h2><?php e(tl('machinelog_element_log_file',$data['LOG_TYPE']));?></h2>
+        <pre><?php
+            e(wordwrap($data["LOG_FILE_DATA"], 60));
+        ?></pre>
+    <?php
+    }
+}
+?>
diff --git a/views/elements/managemachines_element.php b/views/elements/managemachines_element.php
index 205d35b08..949392f86 100644
--- a/views/elements/managemachines_element.php
+++ b/views/elements/managemachines_element.php
@@ -62,23 +62,23 @@ class ManagemachinesElement extends Element
         <table class="nametable">
         <tr><th><label for="machine-name"><?php
             e(tl('managemachines_element_machine_name'))?></label></th>
-            <td><input type="text" id="machine-name" name="machine_name"
+            <td><input type="text" id="machine-name" name="name"
                 maxlength="80" class="widefield" /></td>
         </tr>

         <tr><th><label for="machine-url"><?php
             e(tl('managemachines_element_machineurl'))?></label></th>
-            <td><input type="text" id="machine-url" name="machineurl"
+            <td><input type="text" id="machine-url" name="url"
                 maxlength="80" class="widefield" /></td></tr>

         <tr><th><label for="queue-box"><?php
             e(tl('managemachines_element_has_queueserver'))?></label></th>
             <td><input type="checkbox" id="queue-box"
-                name="queuebox"  /></td></tr>
+                name="has_queue_server" value="true" /></td></tr>
         <tr><th><label for="fetcher-number"><?php
             e(tl('managemachines_element_num_fetchers'))?></label></th><td>
             <?php $this->view->optionsHelper->render("fetcher-number",
-            "fetcher_number", $data['FETCHER_NUMBERS'],$data['FETCHER_NUMBER']);
+            "num_fetchers", $data['FETCHER_NUMBERS'],$data['FETCHER_NUMBER']);
             ?></td></tr>
         <tr><td></td><td><button class="buttonbox" type="submit"><?php
                 e(tl('managemachines_element_submit')); ?></button></td>
@@ -93,26 +93,51 @@ class ManagemachinesElement extends Element
             e($data['YIOOP_TOKEN']); ?>" />
         <input type="hidden" name="a" value="manageMachines" />
         <input type="hidden" name="arg" value="deletemachine" />
-
         <table class="nametable">
          <tr><th><label for="delete-machine-name"><?php
             e(tl('managemachines_element_machine_name'))?></label></th>
             <td><?php $this->view->optionsHelper->render(
-                "delete-machine-name", "selectmachine",
-                $data['MACHINE_NAMES'], "-1");
+                "delete-machine-name", "name",
+                $data['DELETABLE_MACHINES'],
+                tl('admin_controller_select_machine'));
                 ?></td><td><button class="buttonbox" type="submit"><?php
                 e(tl('managemachines_element_submit')); ?></button></td>
         </tr>
         </table>
         </form>
+
         <h2><?php e(tl('managemachines_element_machine_info'))?></h2>
-        <?php
-        if(isset($data['MACHINES'])) {
+        <div id="machinestatus" >
+        <p class="red"><?php
+            e(tl('managemachines_element_awaiting_status'))?></p>
+        </div>
+        <script type="text/javascript" >
+        var updateId;
+        function machineStatusUpdate()
+        {
+            var startUrl = "?c=admin&YIOOP_TOKEN=<?php
+                e($data['YIOOP_TOKEN']); ?>&a=machineStatus";
+            var machineTag = elt('machinestatus');
+            getPage(machineTag, startUrl);
+        }

-             ?>
-        <?php
+        function clearUpdate()
+        {
+             clearInterval(updateId );
+             var machineTag = elt('machinestatus');
+             machine.innerHTML= "<h2 class='red'><?php
+                e(tl('managemachines_element_no_longer_update'))?></h2>";
+        }
+        function doUpdate()
+        {
+             var sec = 1000;
+             var minute = 60*sec;
+             machineStatusUpdate();
+             updateId = setInterval("machineStatusUpdate()", 30*sec);
+             setTimeout("clearUpdate()", 20*minute + sec);
         }
-        ?>
+        </script>
+
         </div>
     <?php
     }
diff --git a/views/helpers/toggle_helper.php b/views/helpers/toggle_helper.php
new file mode 100644
index 000000000..4d1a2c696
--- /dev/null
+++ b/views/helpers/toggle_helper.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ *  SeekQuarry/Yioop --
+ *  Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ *  Copyright (C) 2009 - 2012  Chris Pollett chris@pollett.org
+ *
+ *  LICENSE:
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *  END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage helper
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009 - 2012
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/**
+ *  Load base helper class if needed
+ */
+require_once BASE_DIR."/views/helpers/helper.php";
+
+/**
+ * This is a helper class is used to draw
+ * an On-Off switch in a web page
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage helper
+ */
+
+class ToggleHelper extends Helper
+{
+
+    /**
+     *  Draws an On Off switch in HTML where to toggle state one
+     *  clicks a link
+     *
+     *  @parm bool $state whether the switch is on or off
+     *  @param string $on_url - url that is sent when one clicks on
+     *  @param string $off_url - url that is sent when one clicks off
+     */
+    public function render($state, $on_url, $off_url)
+    {
+        if($state) {?>
+            <table class="toggletable"><tr><td
+            class="backgreen"><b><?php e(tl('toggle_helper_on'));?></b></td>
+            <td><a href="<?php e($off_url);?>"
+            ><?php e(tl('toggle_helper_off'));?></a></td></tr></table>
+        <?php } else {?>
+            <table class="toggletable"><tr><td><a href="<?php e($on_url);?>"
+            ><?php e(tl('toggle_helper_on'));?></a></td>
+            <td  class="backred"><b><?php e(tl('toggle_helper_off'));?></b></td>
+            </tr></table>
+        <?php }
+    }
+
+}
+?>
diff --git a/views/machinestatus_view.php b/views/machinestatus_view.php
new file mode 100644
index 000000000..00024d408
--- /dev/null
+++ b/views/machinestatus_view.php
@@ -0,0 +1,132 @@
+<?php
+/**
+ *  SeekQuarry/Yioop --
+ *  Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ *  Copyright (C) 2009 - 2012  Chris Pollett chris@pollett.org
+ *
+ *  LICENSE:
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *  END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @package seek_quarry
+ * @subpackage view
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009 - 2012
+ * @filesource
+ */
+
+if(!defined('BASE_DIR')) {echo "BAD REQUEST"; exit();}
+
+/**
+ * This view is used to display information about
+ * crawls that have been made by this seek_quarry instance
+ *
+ * @author Chris Pollett
+ * @package seek_quarry
+ * @subpackage view
+ */
+
+class MachinestatusView extends View
+{
+    /**
+     * Names of helper objects that the view uses to help draw itself
+     * @var array
+     */
+    var $helpers = array('toggle');
+
+    /**
+     * An Ajax call from the Manage Crawl Element in Admin View triggers
+     * this view to be instantiated. The renderView method then draws statistics
+     * about the currently active crawl.The $data is supplied by the crawlStatus
+     * method of the AdminController.
+     *
+     * @param array $data   info about the current crawl status
+     */
+    public function renderView($data)
+    {
+        $base_url = "?c=admin&a=manageMachines&YIOOP_TOKEN=".
+            $data['YIOOP_TOKEN']."&arg=";
+        if(count($data['MACHINES']) == 0) {
+            e(tl('machinestatus_view_no_monitored'));
+        } else {
+        foreach($data['MACHINES'] as $m) { ?>
+            <div class="box">
+            <h3 class="nomargin"><?php e($m['NAME']);?></h3>
+            <p><?php e($m['URL']);
+                $on_queue_server = $base_url . "update&name={$m['NAME']}".
+                    "&action=start";
+                $off_queue_server = $base_url . "update&name={$m['NAME']}".
+                    "&action=stop";
+            ?></p>
+            <?php if($m['HAS_QUEUE_SERVER'] == "TRUE") {
+                $log_url = $base_url . "log&name={$m['NAME']}";
+            ?>
+                <table class="machinetable">
+                <tr><th><?php e(tl('machinestatus_view_queue_server'));?>
+                </th><td>[<a href="<?php e($log_url);?>"><?php
+                    e(tl('machinestatus_view_log'));?>]</a>
+                    </td><td><?php
+                    $this->toggleHelper->render(
+                        isset($m['STATUSES']["queue_server"]) ,
+                        $on_queue_server, $off_queue_server);
+                ?></td>
+                </tr>
+                </table>
+            <?php } else {
+                e("<h3>".tl('machinestatus_view_no_queue_server')."</h3>");
+            }?><?php
+            if($m['NUM_FETCHERS'] == 0) {
+                e("<h3>".tl('machinestatus_view_no_fetchers')."</h3>");
+            } else {
+            for($i = 0; $i < $m['NUM_FETCHERS']; $i++) {
+                $on_fetcher = $base_url . "update&name={$m['NAME']}".
+                    "&action=start&fetcher_num=$i";
+                $off_fetcher = $base_url . "update&name={$m['NAME']}".
+                    "&action=stop&fetcher_num=$i";
+                if($i  == 0) { ?>
+                    <table class="machinetable">
+                    <th colspan="<?php e(min($m['NUM_FETCHERS'] - $i, 4)); ?>"
+                    ><?php e(tl('machinestatus_view_fetchers'));?></th></tr>
+                    <tr>
+                <?php } else if($i % 4 == 0) {?>
+                    <table class="machinetable"><tr>
+                <?php } ?>
+                <td><table><tr><td>#<?php
+                $log_url = $base_url . "log&name={$m['NAME']}&fetcher_num=$i";
+                if($i <10){e("0");} e($i);
+                ?>[<a href="<?php e($log_url);?>"><?php
+                    e(tl('machinestatus_view_log'));?></a>]</td>
+                </tr><tr><td><?php
+                $this->toggleHelper->render(
+                    isset($m['STATUSES']["fetcher"][$i]),
+                    $on_fetcher, $off_fetcher);?></td>
+                </tr>
+                </table>
+                <?php if($i % 4  == 3) { ?>
+                    </tr>
+                    </table></td>
+                <?php } ?>
+        <?php }
+            ?></tr></table><?php
+        }
+        }
+    }
+    }
+}
+?>
ViewGit