[Opensim-dev] Opensim-dev Digest, Vol 48, Issue 5

Alan Johnston alan.johnston at allvirtualsocial.com
Thu Jul 5 17:33:51 UTC 2018


Yes I see these all exist for individual grids, but not for a none grid specific search system like a search engine, a search engine is not able to search your database, and if I owned a grid I would never give a search engine access to my database, and with me wanting to start a search engine I am not going to ask for access to a grid database, I’m wanting to create a search engine just for virtual worlds where you can search for anything virtual world related, so you can search for grids, grids articles in the blog, articles that people who use virtual worlds, news on virtual worlds, and so forth, not create a inworld search.  Was thinking the land and users would be good, especially if you can get profile information, and on a note to the email yesterday about the GDPR their would only be an issue if I was to display information that is not already available on the internet, it would be a search engine searching sites that is public, and only looking at information that is available, it would follow all robots.txt requests and also all robots meta requests.

Sent from Mail for Windows 10

From: opensim-dev-request at opensimulator.org
Sent: 05 July 2018 13:00
To: opensim-dev at opensimulator.org
Subject: Opensim-dev Digest, Vol 48, Issue 5

Send Opensim-dev mailing list submissions to
	opensim-dev at opensimulator.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
or, via email, send a message with subject or body 'help' to
	opensim-dev-request at opensimulator.org

You can reach the person managing the list at
	opensim-dev-owner at opensimulator.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Opensim-dev digest..."


Today's Topics:

   1. Re: Introduction of a sitemap style system for users and land
      (Michel Beauregard)
   2. Re: diva search tool (Michel Beauregard)


----------------------------------------------------------------------

Message: 1
Date: Wed, 4 Jul 2018 20:21:10 +0000 (UTC)
From: Michel Beauregard <gimisa at yahoo.fr>
To: <opensim-dev at opensimulator.org>
Subject: Re: [Opensim-dev] Introduction of a sitemap style system for
	users and land
Message-ID: <64522548.5007855.1530735670439 at mail.yahoo.com>
Content-Type: text/plain; charset=UTF-8

The following?? email present was? is already existing via Diva and other contibutors. 

?search php? source code for access registered datasnapshot information:
<?php
$dbug=false;
$sval=mysql_real_escape_string($_GET["sname"]);
echo "searching for ", $sval," \n";
if ( strlen($sval) <3){
? echo? "need more then two letters to make search please \n"; 
? return;
}

if ( strlen($sval) >63){
? echo? "not more then 63? letters to make search please \n"; 
? return;
}
?? ?
if (!preg_match("/^[a-zA-Z ]*$/",$sval)) {
? echo? "Only letters and white space allowed \n"; 
? return;
}

$sval="%".mysql_real_escape_string($_GET["sname"])."%";

$DB_HOST = "localhost";
$DB_USER = "opensim";
$DB_PASSWORD = "xxxxx";
$DB_NAME = "ossearch";

if ($dbug){
?? ?echo $sval;
?? ?echo "<br/>";
?? ?echo $DB_HOST ;
?? ?echo "<br/>";
?? ?echo $DB_USER;
?? ?echo "<br/>";
?? ?echo $DB_PASSWORD;
?? ?echo "<br/>";
?? ?}

$conn = mysqli_connect ($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME);

if (mysqli_connect_errno())
? {
? echo "Failed to connect to MySQL: " . mysqli_connect_error();
? }

//$sql = "SELECT * FROM `objects` WHERE `name` LIKE \'%Tulip%\' LIMIT 0, 30 ";
//$sql = "SELECT * FROM `objects` WHERE `name` LIKE '%Tulip%'? LIMIT 0, 30 ";
//$sql = "SELECT * FROM `objects` INNER JOIN `regions` ON `objects.regionuuid` = `regions.regionuuid` LIMIT 0, 30 ";
//$sql = "SELECT `regionuuid` FROM `objects`";
//$sql = "SELECT `regionname`, `regionuuid`, `regionhandle`, `url`, `owner`, `owneruuid` FROM `regions` WHERE 1 LIMIT 0, 30 ";
$sql = "SELECT `location`, `name`, `description` , `regionname` FROM `objects` INNER JOIN `regions` ON objects.`regionuuid`=regions.`regionuuid` WHERE `name`? LIKE? '".? $sval . "' LIMIT 0, 300 ";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
?? echo "found ".$result->num_rows." item(s)? clic on the link below TWO times to teleport to object? \n";
??? // output data of each row
??? while($row = $result->fetch_assoc()) {
//??????? echo "Name: " . $row["name"]. " - Description: " . $row["description"]. " RegionName" . $row["regionname"]." Location" . $row["location"]. "<br>";
??????? echo "NAME: " . $row["name"]. " - DESC: " . $row["description"]. "? - LOC? https://gimisa/region/" . $row["regionname"]."/" . $row["location"];
??? }
} else {
??? echo "0 results";
}
$conn->close();
?>

As explain here http://metaverseink.com/docs/listing.html? To create your owne address search location using the above is as? simple as populating the opensim.ini file with? your site data. For exemple for my location? (3d.gimisa.ca:9000 ) the opensim.ini dataSnapshot? configuration is changed as follow with data_services pointing to metaverse search location in addition to my own internal location search facility :

[DataSnapshot]
??? index_sims = true
??? data_exposure = minimum

??? gridname = "GiMiSa"
??? ; 1 hour
??? default_snapshot_period = 13600
??? snapshot_cache_directory = "DataSnapshot"
??? data_services="http://192.168.2.105/register.php;http://metaverseink.com/cgi-bin/register.py"

The data_service register.php code is as follows:
<?php
//////////////////////////////////////////////////////////////////////////////
// register.php???????????????????????????????????????????????????????????? //
// (C) 2008, Fly-man-?????????????????????????????????????????????????????? //
// This file contains the registration of a simulator to the database?????? //
// and checks if the simulator is new in the database or a reconnected one? //
//????????????????????????????????????????????????????????????????????????? //
// If the simulator is old, check if the nextcheck date > registration????? //
// When the date is older, make a request to the Parser to grab new data??? //
//////////////////////////////////////////////////////////////////////////////

include("databaseinfo.php");
//establish connection to master db server
mysql_connect ($DB_HOST, $DB_USER, $DB_PASSWORD);
mysql_select_db ($DB_NAME);

$hostname = $_GET['host'];
$port = $_GET['port'];
$service = $_GET['service'];

if ($hostname != "" && $port != "" && $service == "online")
{
??? // Check if there is already a database row for this host
??? $checkhost = mysql_query("SELECT register FROM hostsregister WHERE " .
??????????? "host = '" . mysql_real_escape_string($hostname) . "' AND " .
??????????? "port = '" . mysql_real_escape_string($port) . "'");

??? // Get the request time as a timestamp for later
??? $timestamp = $_SERVER['REQUEST_TIME'];

??? // if greater than 1, check the nextcheck date
??? if (mysql_num_rows($checkhost) > 0)
??? {
??????? $update = "UPDATE hostsregister SET " .
??????????????? "register = '" . mysql_real_escape_string($timestamp) . "', " . 
??????????????? "nextcheck = '0', checked = '0', " .
??????????????? "failcounter = '0' " . ?
??????????????? "WHERE host = '" . mysql_real_escape_string($hostname) . "' AND " .
??????????????? "port = '" . mysql_real_escape_string($port) . "'";

??????? $runupdate = mysql_query($update);
??? }
??? else
??? {
??????? $register = "INSERT INTO hostsregister VALUES ".
??????????????????? "('" . mysql_real_escape_string($hostname) . "', " .
??????????????????? "'" . mysql_real_escape_string($port) . "', " .
??????????????????? "'" . mysql_real_escape_string($timestamp) . "', 0, 0, 0)";

??????? $runupdate = mysql_query($register);
??? }
}
elseif ($hostname != "" && $port != "" && $service = "offline")
{
??????? $delete = "DELETE FROM hostsregister " .
??????????????? "WHERE host = '" . mysql_real_escape_string($hostname) . "' AND " .
??????????????? "port = '" . mysql_real_escape_string($port) . "'";

??????? $rundelete = mysql_query($delete);
}
?>

More detail about diva search can be found here: http://www.metaverseink.com/blog/news/metaverse-ink-search-for-opensims/ . Please note Metaverse search facility is broken since about begining of the year as it was before and? as it was never intended for full fledge support as opensim searching tool. 

This article in hypergrid business give Maria's reflection on the subject in 2014? https://www.hypergridbusiness.com/2014/07/two-ideas-for-better-search-for-opensim/

(Happy 4th of July to our Americain friends .)

hope the above is? helpfull. GiMiSa 


------------------------------

Message: 2
Date: Thu, 5 Jul 2018 10:50:21 +0000 (UTC)
From: Michel Beauregard <gimisa at yahoo.fr>
To: <opensim-dev at opensimulator.org>
Subject: Re: [Opensim-dev] diva search tool
Message-ID: <1831387235.5480849.1530787821988 at mail.yahoo.com>
Content-Type: text/plain; charset=UTF-8

I forgot to mention the search option of metaversinkl.? That? 2007 web page? is not that easy to find :
http://metaverseink.com/docs/tips.html

Interesting is the searcheable elements: product, place,sim, notecard please also note that the description field of an objject can be search. 
Naturaly the php coding posted earlier does not offer that depth of searching but ones know that the information is available.
GiMiSa



------------------------------

_______________________________________________
Opensim-dev mailing list
Opensim-dev at opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev


End of Opensim-dev Digest, Vol 48, Issue 5
******************************************



More information about the Opensim-dev mailing list