From a079afbb73e44a8af56e301ebef3aac03cf9e5a5 Mon Sep 17 00:00:00 2001 From: Kalila L Date: Fri, 21 Aug 2020 13:40:38 -0400 Subject: [PATCH] Update metadata exporting. --- .../resources/describe-settings.json | 30 ++++++++++++++++++- domain-server/src/DomainMetadata.cpp | 27 +++++++++++++++-- domain-server/src/DomainMetadata.h | 3 ++ 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index fbbeb391ba..3551104f75 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -174,6 +174,28 @@ "advanced": true, "help": "A description of your domain (256 character limit)." }, + { + "name": "thumbnail", + "label": "World Thumbnail", + "advanced": true, + "help": "A link to the thumbnail that is publicly accessible from the internet." + }, + { + "name": "images", + "label": "World Images", + "advanced": true, + "type": "table", + "can_add_new_rows": true, + "help": "URLs to images that visually describe your world to potential visitors.", + "numbered": false, + "columns": [ + { + "name": "image", + "label": "Image URL", + "can_set": true + } + ] + }, { "name": "maturity", "label": "Maturity", @@ -204,9 +226,15 @@ } ] }, + { + "name": "contact_info", + "label": "World Administrative Contact", + "advanced": true, + "help": "Contact information to reach server administrators for assistance (256 character limit)." + }, { "name": "managers", - "label": "Server Managers / Administrators", + "label": "World Managers / Administrators", "advanced": true, "type": "table", "can_add_new_rows": true, diff --git a/domain-server/src/DomainMetadata.cpp b/domain-server/src/DomainMetadata.cpp index cfdbf249be..53e3cce1ec 100644 --- a/domain-server/src/DomainMetadata.cpp +++ b/domain-server/src/DomainMetadata.cpp @@ -36,18 +36,25 @@ const QString DomainMetadata::Users::HOSTNAMES = "user_hostnames"; const QString DomainMetadata::DESCRIPTORS = "descriptors"; const QString DomainMetadata::Descriptors::NAME = "world_name"; const QString DomainMetadata::Descriptors::DESCRIPTION = "description"; +const QString DomainMetadata::Descriptors::THUMBNAIL = "thumbnail"; +const QString DomainMetadata::Descriptors::IMAGES = "images"; const QString DomainMetadata::Descriptors::CAPACITY = "capacity"; // parsed from security const QString DomainMetadata::Descriptors::RESTRICTION = "restriction"; // parsed from ACL const QString DomainMetadata::Descriptors::MATURITY = "maturity"; +const QString DomainMetadata::Descriptors::CONTACT = "contact_info"; const QString DomainMetadata::Descriptors::MANAGERS = "managers"; const QString DomainMetadata::Descriptors::TAGS = "tags"; + // descriptors metadata will appear as (JSON): // { -// "name": String, // capped name +// "world_name": String, // capped name // "description": String, // capped description +// "thumbnail": String, // capped thumbnail URL +// "images": [ String ], // capped list of image URLs // "capacity": Number, // "restriction": String, // enum of either open, hifi, or acl // "maturity": String, // enum corresponding to ESRB ratings +// "contact_info": [ String ], // capped list of usernames // "managers": [ String ], // capped list of usernames // "tags": [ String ], // capped list of tags // } @@ -85,7 +92,7 @@ void DomainMetadata::descriptorsChanged() { static const QString DESCRIPTORS_GROUP_KEYPATH = "descriptors"; auto descriptorsMap = static_cast(parent())->_settingsManager.valueForKeyPath(DESCRIPTORS).toMap(); - // copy simple descriptors (name/description/maturity) + // copy simple descriptors if (!descriptorsMap[Descriptors::NAME].isNull()) { state[Descriptors::NAME] = descriptorsMap[Descriptors::NAME]; } else { @@ -98,13 +105,27 @@ void DomainMetadata::descriptorsChanged() { state[Descriptors::DESCRIPTION] = ""; } + if (!descriptorsMap[Descriptors::THUMBNAIL].isNull()) { + state[Descriptors::THUMBNAIL] = descriptorsMap[Descriptors::THUMBNAIL]; + } else { + state[Descriptors::THUMBNAIL] = ""; + } + if (!descriptorsMap[Descriptors::MATURITY].isNull()) { state[Descriptors::MATURITY] = descriptorsMap[Descriptors::MATURITY]; } else { state[Descriptors::MATURITY] = ""; } + + if (!descriptorsMap[Descriptors::CONTACT].isNull()) { + state[Descriptors::CONTACT] = descriptorsMap[Descriptors::CONTACT]; + } else { + state[Descriptors::CONTACT] = ""; + } - // copy array descriptors (managers/tags) + // copy array descriptors + state[Descriptors::THUMBNAIL] = descriptorsMap[Descriptors::THUMBNAIL].toList(); + state[Descriptors::IMAGES] = descriptorsMap[Descriptors::IMAGES].toList(); state[Descriptors::MANAGERS] = descriptorsMap[Descriptors::MANAGERS].toList(); state[Descriptors::TAGS] = descriptorsMap[Descriptors::TAGS].toList(); diff --git a/domain-server/src/DomainMetadata.h b/domain-server/src/DomainMetadata.h index d366bd2020..24dcba909d 100644 --- a/domain-server/src/DomainMetadata.h +++ b/domain-server/src/DomainMetadata.h @@ -36,9 +36,12 @@ public: public: static const QString NAME; static const QString DESCRIPTION; + static const QString THUMBNAIL; + static const QString IMAGES; static const QString CAPACITY; static const QString RESTRICTION; static const QString MATURITY; + static const QString CONTACT; static const QString MANAGERS; static const QString TAGS; };