Skip to content

Releases: HTTP3D/WalkTheWeb

WalkTheWeb v3.6.1

28 Feb 20:45
1dec11e
Compare
Choose a tag to compare

Release Date: 2/28/2023
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on separating the 3dnet.walktheweb.com and 3dnet.walktheweb.network calls into the 3D Internet Plugin from the main WalkTheWeb code. We also added a default and custom option on install that provides a way to install without activating the 3D Internet Plugin. We also added a number of user interface enhancements and updated the BabylonJS Engine.

Here are the details for this release:

Feedback Notes added - We added some notes to the feedback page under Admin Dashboard. The note provides instructions where users submit the feedback, and we added a note for when no feedback is found.

API Keys Note - We added a note to indicate when there are no API Leys found. If found, the normal list will show.

Developers Tools Note - We added an Admin Menu -> developers tools note to instruct to click F12 to open the console to display the following lists.

Created Hook for pluginsOpenFullPageFormMediaLibrary - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenFullPageFormMediaLibrary. We then moved the related code to a new function called openFullPageFormMediaLibrary under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to media library section of the open full page form function.

The Update Menu Item Code Moved - The Update menu item under the Admin Dashboard section was moved to the 3D Internet Plugin, since the page it opens was already moved.

Swapped Columns on Dashboard - We swapped the columns on the Admin Dashboard because the first column was all provided by the 3D Internet Plugin and when it is inactive the first column was blank. Now it looks more appropriate.

Google Translate Prompt - We were getting a Google Translate bar opened to Arabic when opening the Admin Mode. We added a meta tag to set google to notranslate and a tag to identify the html tag as English language.

Enable Plugin Error - When adding the enable 3D Internet Plugin code if you select custom install, the code was missing a closing quote and semicolon. This was causing a 500 error in the install. This has been corrected.

Toggle Admin Menu Items - In the toggle admin menu items code, we check if any sub menu items are already open, then close on toggle. We moved 2 of the items to the 3D Internet Plugin, so code needed to test if the plugin was enabled and the options are set.

Admin Menu Upgrades Icon - The Upgrades admin menu item was missing the icon (it was in a plugin that is not released yet.) We moved the icon to the content/system/images folder and corrected the paths in the code.

My Avatar Mobile Transparency - When using mobile devices, we set the transparency to 50% in order to increase the visibility of the 3D Scene.

Render Canvas Style - After the latest Babylon update, the render canvas was defaulting to show the pointer cursor all of the time. We set it manually to cursor at default to over-ride this setting. Now the mouse changes to pointer on pickable elements in the 3D Scene.

Centered Avatar Animations Selections - After collapsing the browse menu, the avatar animations would pop up on the left side when opened. We changed the centering calculation to be WTW.sizeX based to correct the issue.

Created Hook for pluginsGetPluginInfoComplete - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsGetPluginInfoComplete. We then moved the related code to a new function called getPluginInfoComplete under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the returned plugin list array and display. For the 3D Internet Plugin, it allows us to check for updates and add download buttons for updates as well as badges.

Moved plugin Hook for pluginsLoadLoginSettings - The plugin hook for pluginsLoadLoginSettings has been moved from the loadLoginSettings to the loadLoginSettingsResponse function so that it can use the WTW.globalLogins settings in the plugins.

Added Enter Button Code - We added code to show the enter button on the loadUserSettingsAfterEngine function. We placed it right before the plugins hook, so that plugins can override or reset it as necessary.

3D Internet Plugin Activation - During the new install, if you select default installation, the 3D Internet Plugin will not automatically load as activated. The 3D Internet Plugin code is still there and can easily be activated in the Admin -> 3D Plugins. If you select custom installation, the 3D Internet Plugin is automatically set active and you will have options to download your 3D Building and 3D Community selections in the install.

Place Holder Camera Movements - We added a section in the move avatar function to handle Camera Movements when the avatar is not loaded yet. This was required as a separate section since the core avatar movements is a weighted movement based on animations running and there are no animations running on the place holder before the avatar is selected.

Place Holder Limitations Removed - There were a number of inputs and move avatar commands that sere set to only work if the placeholder was removed and the avatar was present. We removed these restrictions so that the initial camera can move before the avatar is started on the scene. (WTW.placeHolder == 0)

3D Scenes start with Collapsed Menu - The 3D Scenes now load with a collapsed browse menu. Click the bottom left icon to toggle the browse menu open or closed.

Enter Scene Camera Movement Enabled - When you enter a 3D Scene, we have now enabled a limited amount of camera movement. Keyboard, mouse, or touch will now allow you to rotate the camera right, left, up, and down. This allows you to look at a 3D Scene before you choose to enter it, login, select an avatar, and walk around.

New Enter Button on 3D Scene Load - When you first load a new 3D Scene, you will now see a single small button labeled ENTER. When you click it, you will then see the login options (or straight to a login if you have only one option enabled).

New 3D Internet Menu Options - First we split the old 3D Internet Settings page into 2 menu options, one for WalkTheWeb Logins and Avatars and one for Multiplayer and Chat. Then we added two more menu options and pages for Templates and Sharing and Franchising to the Internet. The Templates option allow admins to turn on or off the ability to access WalkTheWeb Downloads and separately turn on or off access to add plugins. The Sharing refers to the ability to Share a copy of your 3D Community, 3D Building, 3D Thing, or 3D Avatar to the world. This option allows you to turn on of off the menu option to Share. Finally, the Franchising section controls the 3D Web Aliases ability to Franchise out a 3D Building or 3D Thing to be added to 3D Community on another server. There is also an option to turn on or off the ability to add a Franchised 3D Building or 3D Thing to your 3D Communities.

downloads.php Handler moved to 3D Internet Downloads Handler - The downloads.php handler that calls the database functions for the WalkTheWeb Downloads has been replaced by the 3D Internet Plugin wtw-3dinternet-downloads.php handler. All of the WalkTheWeb Downloads functionality has now been moved to the 3D Internet Class.

wtwdownloads Class moved to 3D Internet Downloads Class - The wtwdownloads class that performs the database functions for the WalkTheWeb Downloads has been replaced by the 3D Internet Plugin wtw_3dinternet_downloads Class Functions. All of the WalkTheWeb Downloads functionality has now been moved to the 3D Internet Class.

Custom Install Settings - When doing a custom install, instead of copying the WalkTheWeb Downloads code to the install, we initiated the class and used the current 3D Internet Plugin downloads.js page for the functions. This is only in use if someone selects a custom install instead of a default (which will stay on the local copy only). Everything else for 3dnet.walktheweb.com has been moved to the 3D Internet Plugin.

WalkTheWeb Downloads Admin Page - We moved the WalkTheWeb Downloads admin menu option and full form page to the 3D Internet Plugin.

Add 3D Thing From Server Div - We added a new Admin Menu Div for add3dthing that puts code at the top of the Add Thing to Community list. This allows the 3D Internet Plugin to add the options for local 3D Thing or from the 3D Internet.

Add 3D Building From Server Div - We added a new Admin Menu Div for add3dbuilding that puts code at the top of the Add Building to Community list. This allows the 3D Internet Plugin to add the options for local 3D Building or from the 3D Internet.

Confirmation Box Options Relabeled - When using the openConfirmation and completedConfirmation functions, the zoption was passed as a number to which confirmation message would appear (extending to which code is run after confirmation). With adding it to plugins hook, it is better to use real text descriptions as cases instead of a number system to better describe the box use and avoid numbering conflict.

Created Hook for pluginsCompletedConfirmation - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsCompletedConfirmation. We then moved the related code to a new function called completedConfirmation under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to run when the confirmation box is...

Read more

WalkTheWeb v3.6.0

31 Jan 22:15
80994f4
Compare
Choose a tag to compare

Release Date: 1/31/2023
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on replacing the login process with 3D In-Game Login Menus and Forms.

Here are the details for this release:

Added New 3D User Menu - We added in a new User Menu that is in-game, 3D and interactive. This will make it more available for all devices (our end goal).

Added Animated Loading 3D Object - We added an animated (rotating) 3D Object to signify loading. It can display text for loading 3D Avatar, Loading 3D Model, Loading 3D Scene, Loading 3D Community, Loading 3D Building, Loading 3D Thing, and Loading. Currently we have it in use for Loading Avatar. This makes it easier to know when the avatar loading and downloading is taking place.

3D Internet Plugin Removed settings - The following 3 settings (wtw3dinternet_enableGlobal, wtw3dinternet_enableLocal, wtw3dinternet_enableAnonymous) are now replaced by the WTW global settings: WTW_globalLogins, WTW_localLogins, and WTW_anonymousLogins. This allowed us to remove the previous settings from the 3D Internet Plugin and load settings function.

Added Loading Global Login Variables - We added a function to load the Login Global Variables. This function takes place during the core loading, which allows the variables to be used at login time. Variables are: WTW.globalLogins, (settings value WTW_globalLogins), WTW.localLogins (settings value WTW_localLogins), and WTW.anonymousLogins (settings value WTW_anonymousLogins).

Added Global Variables for Login Types - The Login Types: globalLogins, localLogins, and anonymousLogins global JavaScript variables have been moved from the 3D Internet Plugin Class to the main WTW class. This will make it easier to test in any code regardless if the 3D Plugin is active or not.

Email mislabeled as User Email - In the wtw users class, sql mentioning the users table was referencing useremail instead of email as a field name. This has been corrected.

Save Profile Email Correction - In the saveProfile and saveMyProfile functions in the wtw Users class, the process to check for duplicates email was catching your own email as a duplicate and not updating it. We added code to check the current user email and save the profile, correcting the issue.

Added 3dforms Script - We added a 3dforms JavaScript page under the /core/scripts/molds folder. This script will assist with 3D Objects being treated as forms. It is similar to the 3D blog page and the hud fields script.

Prevent Object not found in Login - Based on how the login is called, the wtw and wtwuser objects may or may not be initiated. We added code to check if they are set before attempting to add the user id. This replaces the try and catch exception process for setting them.

Correction to Rewrite Rule - In the htaccess file, there is a correction on the rewrite rule from [P] to [L} which stands for Last and stop processing any lines after the match and this rewrite is made. The [P] turned out to be Apache specific. Now the rule is more global.

Added Mime Types to the htaccess file - We added the 6 common mime types to the htaccess file. Note that this file is used as a template to create the .htaccess file during install. You may need to manually update your .htaccess file.

Select Avatar List Correction - After a Local Login, the select Avatar list was showing numerous global avatars to choose that were not necessarily tied to the current user. The list was finding incomplete users off the global server. A correction to the SQL on the global server call corrected the issue.

Added Keyboard Filtering to key-down - Under the input keydown processing when a WTW.selectedMoldName is active, we added filtering the allowed keys based on type of input in the name of the selected mold. Currently we support Name, Email, Search, password, and default.

Added Checkbox and Button key-down - Under the input keydown processing when a WTW.selectedMoldName is active, we added support for any key to trigger checking or clearing a checkbox or triggering a button push.

Added Tab Keyboard key-down - Under the input keydown processing when a WTW.selectedMoldName is active, we added a section to catch a tab that will move from a selected mold name to the next available based on the WTW.tabOrder and if the mold name actually exists in the current scene.

Added HUD Login Script Page - We added a new HUD Login page under /core/scripts/hud folder called wtw_hud_login.js. This page is used for the new 3d Login 3D Objects and functionality.

Global Variables for 3D Forms - We added a number of global variables to be used with 3D Forms and the WTW.selectedMoldName global variable. They include: WTW.offsetX, WTW.offsetY, WTW.offsetZ, WTW.maxLength, WTW.textTimer, WTW.tabOrder, and WTW.webStyle. The Offsets are used to make the 3D Text appear on a surface of the intended 3D Object. Max Length is used to limit the number of shown characters, where they scroll in place to show the end of the text. Text Timer is for the blinking text and refreshing the text changes. Tab Order will allow tab to move to the next Selected Mold Name. Web Style sets the text properties.

Has Value Functions Pass Through - The function for hasValue() was a pass-through function actually found in the wtwdb class. The variable is passed by reference and not by value. But for a pass through that type of function call is depreciated. So I removed the pass-through by copying the function to the handler, connect, and plugin classes.

New Install Table Data - When doing a new install, the table data for the help menu was not being added. This was caused by an else condition on the if statement. The else has been removed allowing the section of data updates to be performed properly.

New Reset Password - We added a new Reset Password in-game, 3D, interactive object. This will eventually replace the HTML based overlay screen form.

New Create Login - We added a new Create Login in-game, 3D, interactive object. This will eventually replace the HTML based overlay screen form. This screen covers the basics. The additional, optional Profile fields will be added in a different 3D Object at a later date.

Login Object has Multiple Configurations - The WalkTheWeb Login 3D Object also has alternate configurations to double as the Local login in-game, 3D, interactive Object.

New WalkTheWeb Global Login - We added a new WalkTheWeb Global Login in-game, 3D, interactive object. This will eventually replace the HTML based overlay screen form.

Added new Login Menu - We added in a new Login Menu that is in-game, 3D and interactive. This will make it more available for all devices (our end goal).

Added Simple Color Covering - The Add Covering Color function has been expanded to also allow single color selection. You can set color to a HTML color code or all four colors as: color.diffuseColor, color.emissiveColor, color.specularColor, and color.ambientColor.

WalkTheWeb v3.5.5

29 Nov 18:16
2a3e0ac
Compare
Choose a tag to compare

Release Date: 11/29/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on Optional Upgrades, Moving 3D Hosting to its own 3D Plugin, adding a plugin marketplace (Work in Progress), and continued work on improving the getting started wizards.

Here are the details for this release:

Format Number function added to Install - The latest changes and additions to the download script required us to add the formatNumber function to the wtw_install.js file. This function is in the utilities file, but that is not loaded during the install. the install is a scaled down version of utilities.

Added Mime Types to web.config - For the Windows IIS hosted sites, we added the required Mime Types for babylon, obj, glb, and gltf files. This will cover the loading of 3D Models used by default in Babylon.

Add Plugin Buttons - We added 2 add plugin buttons that take you to the WalkTheWeb download plugins page. This same page can be found under Media Library -> WalkTheWeb Downloads -> 3D Plugins.

Added Image to Plugins List - We added an image to the list of plugins. The image can be added to your plugins by adding an image file of type png, jpg, or gif with the name of your plugin (example: wtw-3dinternet.png) in the root of your plugin folder.

Moved 3D Hosting Settings - We moved 3D Hosting Settings form under the settings menu to the new 3D Hosting menu item.

Created 3D Hosting Plugin - Since not everyone will use WalkTheWeb to host 3D Websites for others, we moved the 3D Hosting functionality and settings to a new 3D Hosting Plugin.

Added Plugin Hook for Open Domain Form - We added a plugin Hook for the openDomainForm function. This allows us to add 3D Hosting settings to the process.

Reformatted Create Wizard Columns - In the 3D Create Wizard (Pedestal Button), we reformatted the page to allow the user to select the number of columns shown as well as reorder the results to have the title, image, then additional information.

Added Animation to Create Website Button - On the new Create 3D Website Pedestal we added animation to the button.

CSG Update Issue - When editing a Mold, if you select to subtract the mold from another mold, the CSG process was not immediately updating the scene. In addition, when you tried to reload the CSG settings, it was deleting the subtraction, causing it to save without the subtraction. The setNewMold function is now run after the process to update the screen and the line clearing the selected action was removed from the setMoldFormFields function. It is now working as expected.

Columns Selection on Downloads Page - We added columns selection on the WalkTheWeb Downloads pages. Select 1 column for large images, 2, 3, or 4 to show more items at a time.

New ID for New From Scratch - To simplify the code and make it easy to track New From Scratch items, the primary key IDs on the WalkTheWeb Downloads has been changed to communityid 0000000000000000, buildingid 1111111111111111, and thingid 2222222222222222.

Version ID Update Fix - We added a correction on the versionid in the communities, buildings, and things tables to update the versionid to the primary key id where it matched the previous New From Scratch item. It was causing any version update to trigger all of them with an unrelated update. This caused additional items to be loaded into the 3D Scene. This is now corrected.

Validating Version ID - When Downloading a new 3D Web, if the item is New from Scratch, we have to update the version id to make sure it is no longer related to the Scratch item. We added code to check before entering the record on download. If it is a New from Scratch, the versionid becomes the newwebid.

New Building from Scratch was Missing - The New Building from Scratch was missing. This was related to the Version ID of the Vintage Building being the same as the New Building From Scratch. Once we reset the versionid to a new id, the versioning of the blank worked as expected.

Upgrade 3D Webs having extra Meshes - Each 3D Web has a version ID that matches the original key ID field value. When you creates something New From Scratch, the values were still all the same causing various versions to be available for upgrade over it. In many cases this would add extra action zones and meshes to your 3D Scene. We added some code to the function for getNewKey so that it will check if it is one of the 3 New From Scratch 3D Webs and automatically assign it a new ID. Then each New From Scratch will have no other version available for upgrade.

Added Optional Upgrades Records - We added the first 4 optional upgrades. These include checking if 3D Internet is turned on (free) and Multiplayer for Admin or Hosts role will see custom domain name and SSL options.

Check Optional Upgrades Function - We added a PHP checkOptionalUpgrades function that uses the optionalupgrades table to define what to check. If you mark an item deleted in the table, it will not be checked.

Optional Upgrades in Admin Menu - If any upgrades or invoices apply, you will see Upgrades with or without the Invoices menu. This option opens the Optional Upgrades page. Currently you might see multiplayer, custom domain names, and SSL upgrades when available. We will be adding more possible upgrades as we develop this section.

Added Optional Upgrades Applied Table - We added a table called optionalupgradesapplied that stores the instances of upgrades per user, domain, ssl cert, server, or host.

Added Optional Upgrades Table - We added optionalupgrades table to track the kind of upgrades, title, description, and instructions available. It helps trigger the actual Upgrade Notices.

Store Images Not Showing - Corrected - In some cases, the store images from WooCommerce were not showing in WalkTheWeb. The issue was the images is passed as a querystring and sometimes the existing image includes a querystring adding a second question mark to the string. We used a replace to convert the ? to &. This fixed the issue. In addition, the path to the image loader has been updated to use walktheweb in the path. Both paths will work, but this is the preferred paths for plugin related API calls for WordPress.

WalkTheWeb v3.5.4

28 Oct 17:47
c4c8813
Compare
Choose a tag to compare

Release Date: 10/28/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on easy getting started or Create 3D Website wizards. For this we moved the Download Webs code to a new wtwdownloads class, handler, and updated processes that allowed us to add progress bars to show what is being downloaded. For some server roles we added tabs to the select 3D Webs pages to filter as Mine or All and added Count at the bottom.

Here are the details for this release:

Create Website Kiosk - We added a 3D Web Object you can add to your 3D Webs for Create Website Kiosk. This kiosk has a button to start (open) the Create 3D Website window. Note that this works best if you have Hosts Role added to your users in the Admin - Settings. New users will be able to click and create their own 3D Scene on your server - hosted by you - in less than 5 minutes.

iFrame Window Resizing - The iframe overlay window was not resizing with the full window. We added 2 hidden fields (wtw_ibrowsewidth and wtw_ibrowseheight) to track the iframe size percent and use them on the setWindowSize function to recalculate and size the frame on a resize.

3D Web Updates Descriptions Wrap - On the Admin Updates Page, the 3d Webs Updates Listing was not wrapping the description. This caused a horizontal scroll bar to appear on each update. The div has been set to force wrap where needed in the admin style sheet.

3D Avatar Select Mine or All Tabs - When you open a 3D Avatar and if you have Admin, Developer, Architect, or Graphic Artist Role on the server, you will now have an option to see just MINE or ALL of the 3D Avatars on that server.

Connect Communities, Buildings, and Things filter - In the connect folder, the 3D Webs listings (communities.php, buildings.php, and things.php) now accept a filter for mine or all. All only applies if you have the server role of Admin, Developer, Architect, or Graphic Artist.

3D Webs Count Added - At the bottom of the Select 3D Community, 3D Building, and 3D Thing lists in admin mode, we added a total Count.

Select Mine or All Tabs - When you open a 3D Community, 3D Building, or 3D Thing and if you have Admin, Developer, Architect, or Graphic Artist Role on the server, you will now have an option to see just MINE or ALL of the 3D Webs on that server.

Deleted Greater than Zero - Tables allow you to flag rows as deleted by any integer greater than zero. Additional values over 1 are useful to separate a deleted set from another in troubleshooting. Therefore, zero is not deleted and greater than zero is deleted. But in some select statements, mainly for recovery of deleted items, the select statement was specifically checking for deleted=1. We changed it to deleted >0 so that it will return any deleted items.

Corrected Store Name Coloring - Corrected the store name coloring by fixing the setMolds, openMoldsForm, and submitMoldsForm JavaScript functions in the Store Plugin and Core Admin. Improved the code to do less work, used JSON.parse on the webstyle for text, and eliminated duplicate settings. We also renamed wtw_webtextcolor to wtw_webtextemissive since they are set to the same values and renamed the default name to My 3D Store instead of Store Name.

Rewrote Color Settings in Admin Mode - The color settings had a number of issues like not opening to the right color, not updating the screen as you change, textures disappearing when adding colors, and no support for 3D Models. We rewrote the functions to fully support 3D Models, accurate live updating when editing, and opening correctly. The functions include: openColorSelector, setMoldColor, setColor, and setNewMold.

Engine Stencil Settings - The highlight layer documentation suggested turning on stencil on the engine start. Even though the highlighting was working, we added the parameter stencil set to true.

Highlighting Molds for 3D Models - Highlighting a mold was only checking the base mold name sent to the function. If the base is a mold, it worked, but molds like 3D Models have a base that is a transform node and all 3D Model parts are children on that node. We changed the function to highlight and unhighlight to check meshes vs transform nodes separately and handle the children on transform nodes.

Heap Size Calculation - The JavaScript function setMeshTransparentFog will make the meshes that are farther away start to go transparent based on distance of the vectors. If your computer is low on memory, this can cause an error when trying to get the vectors. I added a check for heap size, used, and limits and checked to see if there is enough room to continue the transparency before doing it. This should help avoid this kind of error.

Added Progress Bar to the Dashboard Queue - We added a download progress bar to the Admin Dashboard Downloads Queue. Note that the downloads queue only shows when you have something to download. These downloads are started from the https://www.walktheweb.org website downloads. The same repository of items serves your in app WalkTheWeb downloads.

Download Update Avatar Function has been Moved - The PHP downloadAvatar function has been moved from wtwavatars class to wtwdownloads class and now referenced from the downloads handler. Note this is for Avatars to Choose when you visit, not the assigned avatars for users.

Download Update Avatar Function has been Moved - The PHP downloadUpdateAvatar function has been moved from wtwavatars class to wtwdownloads class and now referenced from the downloads handler. Note this is for Avatars to Choose when you visit, not the assigned avatars for users.

Download Update User Avatar Function has been Moved - The PHP downloadUpdateUserAvatar function has been moved from wtwavatars class to wtwdownloads class and now referenced from the downloads handler.

Corrected Duplicate Downloads Showing - When downloading from WalkTheWeb, a number of items were showing as duplicate possible downloads, even though they were the same. We corrected the grouping in the selection and now there is only one of each.

Import Thing has been Removed - The legacy PHP importThing found in the wtwthings class has been removed along with the handler that reference it. It was no longer called from code. This function has been replaced by the downloadWeb function in wtwdownloads.

Import Building has been Removed - The legacy PHP importBuilding found in the wtwbuildings class has been removed along with the handler that reference it. It was no longer called from code. This function has been replaced by the downloadWeb function in wtwdownloads.

Download Web had Duplicate - The PHP function downloadWeb had 2 different functions, one in avatars class and one in downloads (formerly in communities) class. To avoid confusion in code, we renamed the one in the avatars to downloadAvatar.

Download Web Function has been Moved - The PHP downloadWeb function has been moved from wtwcommunities class to wtwdownloads class and has been restructured to use the broken down smaller functions for each section.

Import Community has been Removed - The legacy PHP importCommunity found in the wtwcommunities class has been removed along with the handler that reference it. It was no longer called from code. This function has been replaced by the downloadWeb function in wtwdownloads.

Download Update Web had Duplicate - The PHP function downloadUpdateWeb had 2 different functions, one in avatars class and one in downloads (formerly in communities) class. To avoid confusion in code, we renamed the one in the avatars to downloadUpdateAvatar.

Download Queue Repeats - The Download Queue checks to see if the item is in the downloads table to avoid duplicates. But when you click download it does not clear it from the table, it sets it as deleted. With this it would not allow you to download an object a second time. We added a clause to check for only non deleted items so that they can be downloaded again if you choose, while still avoiding duplicates on the list.

Downloading Notice Div - The downloadingnotice div on the admin downloads page and install pages replaced the wtw_install progress, wtw_progressbar, wtw_progresstext, and corresponding updateProgressBar and updateProgressText functions.

downloadWebProgress JavaScript Function - We now have a downloadWebProgress JavaScript function that processes each section and updates progress dynamically. It creates a Download Box for each 3D Web and Child 3D Web that shows a progress bar and text for the section it is processing currently.

Added downloadWebProcess Function - We added a new function for downloading 3D Webs that can be controlled in segments from JavaScript so that we can report real progress as it completes sections. This function retrieves the data download, and returns it to the JavaScript function that it can parse it on the front end, set the progress, then call each section PHP function one at a time while updating the progress in between each.

Separated downloadWeb Function - In the new wtwdownloads class, we broke down the new downloadWeb function so that each section (users, uploads, main web, connecting grids, action zones, content ratings, plugins required, 3D Models or uploaded objects) is now a separate function called by the downloadWeb function. More importantly, any one function can be called separately.

New Downloads Handler - We added a new Downloads Handler to process the new wtwhandlers class functions.

New Downloads Class - We added a new wtwdownloads class and are moving the download related functions from the wtwcommunities class.

Web Style safety Code - Then adding 3D Text, if the web style passed to the function fails, the display would be blank. We added code so the web ...

Read more

WalkTheWeb v3.5.3

30 Sep 21:06
8eeb3a9
Compare
Choose a tag to compare

Release Date: 9/30/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on corrections to the install process, ability to Franchise 3D Buildings from one server to another, improvements to the 3D Models that include grouping, removing duplicates, deleting, show number of files and folder size and much more. It also has improvements to the Admin Menu functionality, renamed some menu items, and added text descriptions to many of the Admin Pages to assist in usage and understanding. Next we added the ability to set Required 3D Plugins for each 3D Community, 3D Building, and 3D Thing. Finally, we added a feed of the latest WalkTheWeb Global Activities to the Admin Dashboard and more code cleanup for consistency.

Here are the details for this release:

New checkValue Function - We added a php function called checkValue($val, $defaultval) that checks if the value is not set or empty. If you do not add a default value, the function returns a true or false. If you do add a default value, it is only applied if the value is not set or empty. Either way, the True, False, or if a default value is set, original value or Default Value is returned. This function has been added to the wtw, wtwdb, wtwplugins, wtwconnect, and wtwhandlers class. It has not been propagated through the code yet. May require more testing.

Added hasValue Function - We added a php function called hasValue($val) that checks if the value is set and not empty. This function has been added to the wtw, wtwdb, wtwplugins, wtwconnect, and wtwhandlers class and most of the over 100 instances of it in code have been replaced by this function.

Code Cleanup for isset and empty Functions - We cleaned up the code where isset and empty are used. For consistency and easier searchability, we changed the code to test isset before empty functions. This effected over 200 instances in the PHP code.

Function OR Mistyped - In PHP code, there were approximately 12 instances where the OR as || was only using one pipe key |. These instances mostly found in the class functions have been corrected.

Added WalkTheWeb Global Activity to Dashboard - We added a feed of the latest 25 WalkTheWeb Global Activities to the Dashboard on WalkTheWeb. This includes New Servers coming online, new users at https://3d.walktheweb.com, New Shared 3D Communities, 3D Buildings, 3D Things, and 3D Avatars that you can now find in the WalkTheWeb Downloads.

Cleanup Decode64 Function - The decode64 function provides a base64_decode function if the value passed is set and not empty, otherwise returns a blank value. Many times the decode64 function was being called after testing for a value. We removed the redundant test since the function already handles it.

Removed Clone Option - When loading the Web Alias for edit, the domain and communities dropdown was using a clone node on the options. The issue was that it did not preserve the selected on the second drop-down. We replaced the option clone with a create element and set each parameter like the first option.

Big Box Showing when Zoom Out - If you are in admin mode and use the avatar camera button on the quick tools to disconnect and zoom out, there was a big box showing on the scene. This box is used to detect multiplayer avatars near your avatar. The box was set to alpha 1 during testing and was not returned to 0. This has been corrected and the box is once again hidden.

Added Downloading Message - We added a blinking Downloading... message that is displayed after you click on a 3D Community, 3D Building, 3D Thing, or 3D Avatar in the WalkTheWeb Downloads. This applies to the Initial Install and the Media Library Downloads.

Mold Name Server Space Issue - There was a typo that added a space to the server name local. This causes many parts of the editor to not locate the object to move it when editing. We corrected the issue in code, but this update is important to make things work correctly.

Ungroup 3D Models - We added a way to ungroup the 3D Model part. Edit one of the group 3D Models, in the Group Listing, select the Ungroup Button. It will reset the group id to the uploadobjectid. If the uploadobjectid was already the groupid, it will reset the other Models in the group to the next uploadobjectid as the groupid.

3D Plugins Dependents - We added a list of dependent 3D Webs that shows if the 3D Plugin is not active. It will let you know if the Plugin is Required or Optional. Note that Optional means that the code tests for availability and makes concessions if the plugin is not active.

Highlighted Required and Optional Plugins - On the Required Plugins list, we highlighted Required Plugins RED and Optional Plugins YELLOW that are not active. You can click the button to activate the plugin.

Added Plugins Required to Copy Thing - We added plugins required to the copy 3D Thing process.

Added Plugins Required to Copy Building - We added plugins required to the copy 3D Building process.

Added Plugins Required to Download Web Updates - We added plugins required to the Download Update Version WalkTheWeb 3D Webs process.

Added Plugins Required to Download Web - We added plugins required to the Download WalkTheWeb 3D Webs process.

Added Plugins Required to Copy Community - We added plugins required to the copy 3D Community process.

Copy 3D Community Content Ratings - In the Copy 3D Community process, the content ratings were not copying. The select statement had a redundant webid and the insert into statement was going to the wrong table. It is correct now.

Added Past Plugins Required ID to Table - We added the pastpluginsrequiredid varchar(16) to the pluginsrequired table. This is used when duplicate 3D Webs are downloaded from the share WalkTheWeb Downloads.

Added Plugins Required to Share - We added plugins required information to the Share 3D Webs process.

Required or Optional Plugins - Under each 3D Web you can now set each 3D Web to have specific Plugin Requirements or Optional Recommendations. This will make it easier to make sure you have dependent plugins for a 3D Web. For example, a 3D Store Building can require the wtw-shopping plugin.

Added Plugins Required Table - We added a table called pluginsrequired that will list dependencies for 3D Webs. For example, a 3D Store Building requiring wtw-shopping plugin.

Web Alias Table Changes for Site Icon - We removed the siteicon field in the webaliases table. It was using a URL path and the new process uses the uploads table and a new siteiconid field we added to the webaliases table. The connect webalias and webaliases files were updated to return the siteiconid and look up and return the path from uploads as siteiconpath.

Change Site Icon on Web Alias - I enabled (finished coding) the Change Icon button on the web alias form. It uses the media library images.

Initial Plugins Activated - Some plugins were being activated automatically during updates, but were not during new installs. Added code to activate the right initial plugins.

Group ID added to Initial Table Data - The initial table data for uploadobjects now includes a default groupid. Also, the table field groupid was set to not null and is now removed to allow blank data to be written and replaced as needed.

Added Group ID to Upload Object Download Webs - We added groupid to the uploadobjects insert for WalkTheWeb Downloads. By default, if groupid does not exist, it is the uploadobjectid.

Set Old Version before Initial Data Load - The old version was being set before the table update process, but it was not set before the initial table data load process. We added a default setting before the table creation process.

Error in Initial Load of Data - We corrected the initial load of data. When loading the avatars table, the insert values were trying to insert a blank into a date field. It has been replaced with a null.

Missing Global Variable for OldVersion - There was a missing global variable $wtw->oldversion in the checked in version. It is used to test what updates are required since a particular version.

Added Get Upload Object Animation Count - We added a PHP function for getUploadObjectAnimationsCount which helps decide if the upload object has animations. This is part of the uploads class.

Added Animated to 3D Models List - We added the word Animated on the 3D Models that have animations. This makes it easy to see which have animations. An animation count is not necessary since one animation can move everything.

Added Folder Size to 3D Models List - We added the Folder Size to the 3D Models Listing. This makes it easier to compare similar 3D Models.

Added File Count to 3D Models List - We added the File Count to the 3D Models Listing. This makes it easier to compare similar 3D Models.

Added Get File Count Function - We added a getFileCount($zdirectory) function to the wtwdb and extended it to the handlers, connect, and plugins classes.

3D Model Group Listing - We added a 3D Models Group Listing that is shown on the Edit Page. This helps find grouped 3D Models and dependencies (especially as your list of 3D Models grows).

Added Clear Button to Name Filter - We added a Clear X button to the Name Filter on the Media Library Page. This makes it easier to clear and focus on a single click.

Merge Duplicate 3D Models - 3D Models now show a Duplicate button. When you select it, it filters the 3D Models to show any duplicate 3D Model names, if found, you can select the Duplicate Button on one of them to transfer all of the instances of the first 3D Model to the second 3D Model. After this is done, you can click Edit on the first 3D Model and Delete or Permanently Delete it if you choose.

Added Confirmation to ...

Read more

WalkTheWeb v3.5.2

31 Aug 18:39
7831a61
Compare
Choose a tag to compare

Release Date: 8/31/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on Creating a Host Role and separate menu options that give Hosted Sites ability to Edit Their Sites and Settings (Not Full Admin), Added Web Domains for Hosting (in addition to web aliases for specific URLS), added Invoices for purchase receipts, Permissions for Host Role, converted html menus and forms into php functions, added 3D Model Previewer, web aliases page rewrite, prep for server to server franchising of 3D Buildings, and a lot of code cleanup. There are so many changes, you may need to clear your browser cache to force a clean reload.

Here are the details for this release:

Removing Forms and Menus Files and Folders - We added code to clean up and remove the forms and menus files and folders. It will only remove the folders if there are no additional files added. It also removes the wtw_hud.js file form the /core/scripts/prime folder since it was moved to the hud folder.

Block Pass Through Function Placement - We use a blockPassThrough() JavaScript function so that clicks on menus and layered pages will not click the active 3D Scene. Previously, the function was added to many form fields directly. This has now been removed and added on the container of the open page or menu form.

Set Mold Form Fields Cleanup - the setMoldFormFields JavaScript function has been cleaned up by adding default hide or show on some common fields or sections.

Set New Mold Defaults Cleanup - The setNewMoldsDefaults JavaScript function has been cleaned up by moving the default position, scaling, rotation, and other standard settings above the case settings. This cleared many lines of unnecessary code with the same results.

Forms and Menus folders Removed - The forms and menus folders and all of the files under them have been integrated into adminmenus and menus class functions, which are loaded directly to the index.php and admin.php pages now. This will allow us to further clean up and standardize the layout and designs for menus and forms.

Rename Fields on Share Form - Some fields on the share forms were abbreviated such as comm for community and build for building. These fields have been renamed to wtw_tsharecommunitytempname, wtw_tsharecommunitydescription, wtw_tsharecommunitytags, wtw_tsharebuildingtempname, wtw_tsharebuildingdescription, and wtw_tsharebuildingtags.

Eliminated menu.php file - The /core/menu/menu.php file has been eliminated. The menus have been moved to the menu class function and referenced directly on the index.php and admin.php pages.

Code Cleanup - Quotes - We noticed that the consistency of using double quotes and single quotes was erratic. We changed the JavaScript Code to use single quotes as the main choice, and use double quotes as needed.

Connecting Grid for Franchises - We added franchise, with franchiseid, serverfranchiseid, and webalias to the connecting grid object definition.

Add Building List and Function Renamed - The Add Building List and Function has been renamed. The previous name had Mold in it and that does not apply. getBuildingMoldList function was renamed to getAddBuildingList and wtw_buildingmoldsbuttonlist div tag was renamed to wtw_buildingsbuttonlist.

Rewrote Load Meta Data Function - We rewrote the loadMetaData Function in the wtw init class. It now uses the web aliases data for site name, description, and site icon. It also has fall backs to community name, building name, and thing name as needed. The Preview image is the Community, Building, or thing default snapshot.

Web Alias List Updated (again) - We updated the Web Alias List again to show the new site name, description, and preview image. This represents the unique branding per web alias URL.

Added Button to Change Preview Image - We added a Button on the Edit Web Alias Page to make it easy to update a 3D Website Preview Image. The Preview Image is a 3D Community, 3D Building, or 3D Thing snapshot, but it only uses the first available in that hierarchy. This button will direct you to the proper snapshot for update. After you take a new snapshot, you can reopen the Web Domain - Web Aliases page. Note that any unsaved site name or description will be lost when you click this button.

Site Information added to Web Alias Form - When you Add or Edit a Web Alias, there is now a Site Information section you set, per web alias. This will be the metadata and page title when you visit the Web Alias URL. Site Name, Description, and Fav Icon is now processed to the uploads handler and Uploads class (with the save web alias function).

Site Information Added to Web Aliases - We added sitename, sitedescription, and siteicon to the web aliases table. This will allow Admins and Hosts to add custom information for the website title, meta data, and browser tab icon. The preview image is still set at the 3D Community, 3D Building, or 3D Thing level. If site info is blank, it will use the default community name, building name, or thing name, WalkTheWeb description, and WalkTheWeb Icon.

Get Drop Down List Value and Text Checks - The JavaScript utilities functions for getDDLValue(zobjid) and getDDLText(zobjid) were not checking to see if it had a valid object id. Now it does and if it is not found, it returns a blank value.

Added Snapshot to Web Alias Edit Form - We added the snapshot to the web alias edit form. This is the same snapshot for the 3D Community, 3D Building, or 3D Thing in that order, whichever is available.

Web Alias Connect now returns Snapshots - The webalias and webaliases connect files now return the community, building, and thing names, snapshot id, and snapshoturl. when multiple items are mixed, it returns all the snapshots, but we display the highest parent.

Populated the Web Alias Field - In the webaliases table, the webalias field was set to be the same as the domainname. It is being repurposed to be the completed url for the webalias. We added code in the tables class to check the data and correct any needed webalias fields.

Edit Buildings in Web Aliases display - When Editing a Web Alias such as a Building or Thing (any without starting with a Community), the path includes key words like buildings or things. This key word was not showing in the form, but it was saving correctly. We corrected the issue by adding a condition to the set web alias form function.

New Connect Franchises File - Added a new connect file for franchises list. This will return webaliases information for the 3D Buildings and 3D Things that can be franchised to other WalkTheWeb servers on the Internet.

Corrected Web Alias Save issue - When saving a Web Alias, if the publish name was changed, it was creating a new record instead of updating the existing record. We corrected the issue by checking the pub name, if it exists, it updates that record to the new communityid, buildingid, and thingid. If the pub name does not exist, the edited record is updated. This method prevents duplicate pub names.

Changed Pub Name to Display Name - On the Web Aliases display list, we changed the Community, Building, and Thing to show the Display Name instead of repeating the pub name, which is shown in the actual URL at the front of each line.

Returning Names with Web Aliases - We added the proper names to the connect web aliases response. These names can be edited under the 3D Web (community, building, or thing) Options and Settings, 3D Web Information.

Added Franchise Fields to Web Aliases table - We added a franchise and franchiseid fields to the webaliases table. These fields will be used to validate your 3D Web and make it available for other WalkTheWeb servers on the Internet to add your 3D Buildings and 3D Things to their 3D Communities.

Added Group ID to Upload Objects - We added a groupid field to the uploadobjects table. this will allow us to group 3D Models that are parts of a larger 3D Model, but use separate loading. For example separate models used for Outside of a 3D Building, inside walls of a building, doors, interior designs, etc... can be grouped to be one selected 3D Model download.

Added Host User ID to 3D Webs tables - We added hostuserid to the 3D Webs tables (communities, buildings, things, and useruploads - which are 3D Models). This allows us to track 3D Webs by Host account. In addition, we still have user permissions (userauthorizations) that must be met before a 3D Web can be edited.

Hosting and Host Role Explained - The new Hosting and Host Role (permissions) are used to allow a user to create 3D Websites on your WalkTheWeb server. This includes 3D Communities, 3D Buildings (and 3D Stores), 3D Things, 3D Models, and 3D Avatars. It will not give them any Admin specific Role functions like Users and Settings. Not only are the admin items hidden in the user interface, but the permissions are checked on the PHP back end functions before any data is retrieved or changes are made.

Created PHP FTP Class - We added a new PHP Class in Functions called wtwftp (class_wtwftp.php). This will make it easier to use ftp for file transfers when needed.

Tools handler Default values - In the Tools Handler, many passed values use a defined global variable. If the global variable is not defined it could lead to an error and stop processing the call. We added code to validate a defined variable before using the value as a default.

FTP Host was not saving in Server Settings - The Value for the FTP Host entered into the server settings form in Admin was not saving to the config file. It turns out that it was read but not processed with the other settings. We added it to the functions and handlers.

Disable Script Timeout for Certain Scripts - Even though the scripts are de...

Read more

WalkTheWeb v3.5.1

29 Jul 19:25
5f2cbee
Compare
Choose a tag to compare

Release Date: 7/29/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on Water, Waves, Wind, default Spawn Zone, and a new Error Log viewer.

Here are the details for this release:

Avoid null Coin Value - Null or Zero coin values were causing invalid coin object names to be called for creation. Added a condition to check for coin value greater than zero before trying to add coin to scene.

Corrected Path to Dirt Image - The default image path for dirt graphic was pointing to the wrong folder in 2 locations. It is found in the content/system/stock folder and not the content/system/images folder.

Eliminated Local Init Variables for Environment - The Init Environment variables were moved to the global variables a while back, but the process was still reading them and using local variables when loading. I cleaned up the code by eliminating the local variables and used the global variables directly.

Added Water Settings to Init Values - We Added 13 new values to the Init Environment for Wave, Wind, Water settings. The values are: waterBumpID, waterBumpPath, waterBumpHeight, windForce, windDirectionX, windDirectionY, windDirectionZ, waterWaveHeight, waterWaveLength, waterColorRefraction, waterColorReflection, waterColorBlendFactor, and waterAlpha.

New Water Settings Fields in Table - We added new water, wind, and wave fields in the community table as part of the init environment settings. Fields include: waterbumpid, waterbumpheight, windforce, winddirectionx, winddirectiony, winddirectionz, waterwaveheight, waterwavelength, watercolorrefraction, watercolorreflection, watercolorblendfactor, and wateralpha.

Water Init in Community Connect Files - We added the Water, Wave, and Wind settings to the Community and Communities Connect files so that they can be returned with the community calls.

Change in object path for Ground and Water Position - Change in object path for Ground and Water Position from communities[i].groundpositiony to communities[i].ground.position.y and communities[i].waterpositiony to communities[i].water.position.y. This allows us to further group water settings within the same water subset.

Water, Wind, and Wave settings added to Init - Water, Wind, and Wave settings added to Initial scene loading through the communityinfo under wtw_domain, getSceneSettings function.

Renamed Water Depth Menu Item - The Water Depth menu item is now called Water, Waves, and Wind to represent the new available settings.

Water Settings Advanced Options - Now under the Water Settings for a Community Scene, advanced options, you will now find all of the new water, waves, and wind settings. We added all of the functions, display preview, and processes to modify and save all of the water properties.

Save Water Settings Next Menu - After you save the Water Settings, the menu would return to the Options and Settings Menu (where it was previously). We now set it to go to the Edit Communities Menu where it was moved.

Water is now Ground instead of flat Plane - Water is now using the CreateGround instead of CreatePlane. This allowed us to add a Subdivisions to form to the Bump Map as a height map for actual waves. You can now change the bump map and its properties to support any waves and wind effects. In addition we added Secondary color blending. Note that the Waves and related settings will increase the Water Depth in your 3D Scenes.

Water, Waves, and Wind Updates - We updated the connect, communities table fields, handlers, functions, communities class, form, global WTW.init values, and menu items. This update supersedes the previous update; some field names were changed and added. The new Fields are: waterbumpid, waterbumppath (not in the table), waterbumpheight, watersubdivisions, windforce, winddirectionx, winddirectiony (currently not in use), winddirectionz, waterwaveheight, waterwavelength, watercolorrefraction, watercolorreflection, watercolorblendfactor, watercolorblendfactor2, and wateralpha.

Share and Download Water Settings Support - The Share and Download 3D Communities processes have been updated to include all of the new Water, Wave, and Wind Settings.

RGBtoHex function Update - The rgbToHex function in JavaScript utilities file has been updated to use the Babylon Color as a base to convert using the toHexString function.

Added isHexColor function to Utilities - We added an isHexColor function to help validate the use of Hex Color Codes as user input when setting various water, wave, avatar, or mold related settings.

Added two Water Bump Hidden Fields - We added two water bump fields to the Admin hidden fields (used during editing only). The fields are: wtw_twaterbumpid and wtw_twaterbumppath

Water Covering Default Settings Update - We updated the Water Covering Default settings to be more like the general big scene water settings. This includes Bump Height, Wave Height, Wave Length, Wind Force, and Color Blend Values.

Set Ground Water Function Updated - The setGroundWater JavaScript function is used to show live updates while you change the Water, Wave, and Wind settings. This function has been updated to support all of the new Settings.

Core use of Water has been Updated - The Core use of Water loading to a 3D Community has now been updated to load the Water, Wave, and Wind settings. It uses the WTW.init global values so that other apps and plugins can relate code to the current Water conditions.

Added Missing Icons to Images - There were a few missing images in the /content/system/images/ folder on GitHub. We added the missing images and will push them out in the next release.

Default Water Level in Admin - With the new Water settings and Wave Height, the default water level in admin mode was -1 and the waves were showing when ground level was 0. Now we set the default water level to -50 so that it does not show until you intentionally set it. Note that when you are not in admin mode, the water does not get added unless it should be shown.

Spawn Action Zone ID added to Tables - The spawnactionzoneid has been added to the Communities, Buildings, and Things tables. This will be used to set the default spawn point for the web. If left blank and there are multiple spawn points, it will use a random spawn point. Note that there is a default set point (under options and settings) in addition to the added spawn action zones.

Set Default Spawn Zone - Under Admin Options and Settings (under 3D Community, 3D Building, or 3D Thing), the Set Start Position has been expanded to include setting a particular Spawn Zone as the first time entry. This is shown in the Advanced Options section. When left blank, it will randomly pick the spawn zone. The Default selection will force the Set Position from the above section to be used as the Start Position.

New Global Variable for Default Spawn Zone ID - We added a new Global Variable called WTW.spawnZoneID that identifies the default spawn zone for the loaded 3D Community, 3D Building, or 3D Thing. When blank, it randomly selects between the default set position and any existing spawn zones (WTW.spawnZones array). The key value of default will force the 3D Scene to use the Set Start Position.

New Save Default Spawn Zone Function - The new saveDefaultSpawnZone function can be found in the class_wtwcommunities.php functions. It is used to save the spawn action zone id for 3D Communities, 3D Buildings, and 3D Things.

New Case for savedefaultspawnzone in Handlers - We added a new case for savedefaultspawnzone in the Communities Handler file. It also now passes the buildingid and thingid with the communityid to handle all three table updates.

Default Spawn Zone ID in Domain Info Connect - We added the default spawnactionzoneid to the domaininfo.php file (which provides info about a 3D Web not loaded yet) and the equivalent domain info provided from the session init under the main wtw class (which gets populated to the WTW.SpawnZoneID global value).

Delta Create Table Error Corrected - The deltaCreateTable php function was throwing an error for an undefined offset 2. Turns out that when the first line of the statement did not have a parenthesis with the data type it would trip the error. This was happening on the menuitems and errorlog tables. We added code to validate if it does or does not, then construct the table update properly.

Added Archive Date to Error Log Table - We added an archive date to the error log table so that we can separate new errors from old saved (likely resolved) errors.

New Error Log Viewer - Under Dashboard in Admin, there is a new menu option for Error Log. There are 3 views including Active Errors, Most Recent Errors, and All Errors. You can also click Delete Archived Errors to permanently delete the archived errors out of the table. Active and Most Recent will not show archived errors. Most Recent will limit the results to the latest 25 errors. Errors display the Path, File Name, Function, then the Error.

Delete Archived Error Log Function - There is now a JavaScript Function for WTW.deleteArchivedErrorLog() that will remove any archived errors in the errorlog table. Archived records are the ones with an archivedate set. This also includes a Handler and php function of the same name in the tools class.

Integrated the htaccess file into the install - We integrated the .htaccess file into the install by using the htaccess file in the root as a template and copying it to .htaccess. The .htaccess file provides the rewrite rules to redirect virtual urls to the proper paths (Mainly for plugins). This file is specifically for Apache installs and will be ignored in IIS and NginX. Windows uses the web.config provided.

FPS Box sh...

Read more

WalkTheWeb v3.5.0

29 Jun 19:08
ee02def
Compare
Choose a tag to compare

Release Date: 6/29/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on Teleport Zones and Spawn Zones! Add a teleport zone to walk from one 3D Community to another on the same server. We now also offer alternate Spawn Zones to create numerous entry points into your 3D Scenes. Teleport Zones also allow you to set the spawn zone to enter into a 3D Community Scene.

Here are the details for this release:

Added Teleport Zone - We added a Teleport Zone! A Teleport Zone is an invisible zone like a load zone that will unload the current 3D Scene and teleport your avatar to a new 3D Community Scene by loading without a webpage refresh. Since we used an invisible zone, you can create any visual structure or setting you would like for the Teleport Zone.

Teleport Zone Action Zone Form - The Action Zone Form now has settings for teleport that allow you to select the 3D Community you teleport to when entering the zone and select the Spawn Zone (all scenes have a default spawn zone) where the avatar will appear. The spawn zones use a random location within a defined scale of the zone. In addition, the form field labels, shown segments of the form, actionzones list, and default values have been set for the teleport zone.

New Action Zone Table Fields for Teleport Zone - The actionzones table now has two new varchar(16) fields for teleportwebid and teleportwebtype. For now we are only using teleportwebtype of community, but this supports any future teleport location.

Action Zone Connect Files now support Teleport Fields - The connect files for Action Zones (actionzones.php, actionzone.php, and actionzonesbywebid.php) now include the teleport fields (teleportwebid and teleportwebtype) in their reply.

Function for loading Communities to Teleport to - We added a function in admin to load the list of 3D Communities on the current server to select where to teleport. Currently teleport is limited to same server and community level, but this is only stage one of the teleport coding. This function is called when the action zone form loads.

Save Teleport Settings with Action Zones - The teleport settings are now included in the Action Zones save process including the Functions, Handlers, and Save Form JavaScript Processes.

Teleport JavaScript Function added - The Teleport JavaScript Function has been added to unload the current 3D Scene and load the new 3D Scene transforming the Main User Avatar to the new Location while loading the 3D Scene.

Added Unload All Zones Function - We added an unloadAllZones function that is designed to clear the current 3D Scene. It starts by clearing the Load Zone meshes then queues all zones to the unload zone queue. By clearing the zone meshes, your avatar cannot be found in it. Then by queueing all zones for unload provides the correct unload process per zone allowing all items in the scene to be unloaded properly. Finally the connecting grids are removed with the exception of the mainparent for the 3D Scene which also doubles as the avatar location point reference.

Plugin Hook for Unload All Zones - We added a plugin hook to allow plugins to add code functions to execute when the unload all zones is executed.

Connect Domain Info Call - The domaininfo.php connect file was no longer in use and has been revised and reinstated to retrieve the initial community settings for a 3D Community. This includes the sky settings, ground and water levels, community names, and start point positioning, scaling, and rotation. We removed some invitation and access settings that were being retrieved that are no longer needed for security reasons.

New Avatar Enter Function for Rings Long - We added a new avatar enter function avatarShowFadeSwirlLong based on the avatarShowFadeSwirl function but almost 10 times the time span so that the swirling rings can be shown longer while the new teleport function loads an entire new 3D Scene.

Invalid reference to loadactionzoneid corrected - There were numerous references to loadactionzoneid in the WTW.actionZones array that were mislabeled as loadactionzone (missing the letters id). This was causing issues while updating in Admin that if the Form was opened, the new value was not being used. All reloads from the Database were using the correct property name. This was corrected in numerous places including plugin examples.

Added Spawn Action Zone ID to Table - We added a field spawnactionzoneid as a varchar(16) to the actionzones table to track an optional specific spawn zone for a teleport.

Avoid Duplicate Water Layer - With the addition of teleport zones, communities can now be loaded after another one was loaded. So the code to add Water may be run multiple times (which was not the case previously). So new code was added to remove any existing water before the new water is created for the new scene.

Action Zone Connect Files now support Spawn Zones - The connect files for Action Zones (actionzones.php, actionzone.php, and actionzonesbywebid.php) now include the spawn zone id field (spawnzoneid) in the reply. This allows us to set and teleport to a specific Spawn Zone to enter a 3D Community.

Added addUnloadConnectingGridToQueue Function - The addUnloadConnectingGridToQueue function is designed to queue the removal of a Connecting Grid and all items under it. This is for a future enhancement to allow multiple 3D Communities in a 3D Scene.

Create Account Blank Fields Error - The Create Account process had an error that was allowing it to try to create an account when one of the required values were blank. The process now checks and throws an appropriate error under these conditions.

Set Start Position Note Update - When you set the Default Start Position of a 3D Community, 3D Building, or 3D Thing, we added a note about the random distance within 10 units from the point (keeps avatars from stacking o the entry point) and a note about adding additional spawn zones under the Add / Edit Action Zones - edit 3D Web (Community, Building, or Thing).

WalkTheWeb v3.4.14

31 May 20:52
b0ff949
Compare
Choose a tag to compare

Release Date: 5/31/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on update badges, microphone controls for audio streaming (work in progress), user avatar update process, and BabylonJS 5.0 update!

Here are the details for this release:

Stop Propagation on Update Buttons - When selecting the Update Buttons on Communities, Buildings, Things, Avatars, and User Avatars, the update button would then load the item after it updates because the button is stacked on the load button. We added the event Stop Propagation function to the process to make sure it only completes the update when clicked.

New Server Stats and Information - On the Admin Dashboard (with Admin Permission on the server) we added a list of server based stats as found in the database and file system. The connect/dashboard.php page has been rewritten to supply the data, init class changed the form for what was the 3D Websites totals, and changed the JavaScript to format the results set for the listing.

Update Badges - Improved the Check for Updates process to include 3D Communities, 3D Buildings, 3D Things, and 3D Avatars. We added the update badges to the Admin Menu Items to show there are updates. This also improved the check for updates process by removing a duplicate call to the check function.

Added Updates List to the main Updates page - In the Admin Menu, under Dashboard, Updates, we added a listing of all 3D Webs (Communities, Buildings, Things, and Avatars) that have updates available. This makes it a one stop place to see and perform all available updates. The list only appears when there are updates available.

Additional Version Check Information - To simplify the results lists of updates, we passed through the webname, webdesc, and webimage with the items to have updates to make it easy to display the title, description, and thumbnail image in the list to be updated. This page comes from the 3dnet.walktheweb.com hub server.

New dirSize PHP Function available - We added a new function to get a directory size in bytes. This dirSize function is found in the DB Class file and then extended into the Handlers, connect, and plugins classes.

Feedback page has Badges - The Feedback page now has badges to show how many NEW feedback items are listed. It also adds them to the total dashboard badge.

Pending Downloads Badges - In the Admin Menu, Dashboard page, if there are any pending WalkTheWeb Downloads, they will now trigger badge update notifications to help you find them. Download or Cancel the items to remove the badges.

Plugin Hooks for Mic and Sound - We added hooks for plugins to run functions when the mic or sound is turned on or off.

Added Toggle Mic Function - We added a toggle mic function that can trigger any behaviors that need the mic. This function will be used to make sure all mic functions have a global cut off and on switch.

Mic added to Main Menu - The mic has been added to the main menu, as a record in the menuitems table (in tables class). This mic icon will turn off or on the mic globally for all WalkTheWeb mic needs.

Global Mic Variable - In order to determine if the global microphone setting is on or off, we added a Boolean WTW.micMute variable that can be checked from JavaScript code.

Added Mic Activation on the Menu - We added a mic icon to the main menu bar to toggle on and off the mic. The mic runs from a separate audio thread JavaScript worker process.

Test Mic Functionality - We now have a test mic functionality. In the main Menu, Settings Menu, there is an item for Test Microphone. When selected you will get the opportunity to toggle on or off the mic and see the test bars light up based on the volume of sound the mic receives.

New Active Load Zones Function - We added a JavaScript function called getActiveLoadZones in the wtw_actionzonefunctions.js file that returns an array of all load zones your avatar is currently intersecting.

New Active Webs Function - We added a JavaScript function called getActiveWebs in the wtw_actionzonefunctions.js file that returns an array of all webs your avatar is currently intersecting. It includes a list of webtype and webid for each without duplicates. Furthermore, it only includes checking the extreme load zones.

Added Plugin Hook for On Mic Volume Change - We added a JavaScript hook for the On Mic Volume Change (onvolumechange) function. This is tied to the Color spectrum on the test mic meter function. On the Volume Changes, it will execute the plugin function WTW.pluginsOnMicVolumeChange(zvolume).

Avatar Animation Update Process - The avatar Update process was causing unwanted duplicates for some of the animations. We improved the process to make sure duplicates do not happen. If it is an event like onwalk, onjump, onwalkbackwards, etc... it will only allow one event and the animation finds it and updates the single event. When it is an onoption event (used for unlimited animations to be loaded) it now checks for the actual animation file name to see if it is a duplicate. This will now allow the Friendly Names to be changed without creating duplicates. (formerly it was using the friendly name and file name combo to determine duplicates.)

Upgraded to BabylonJS 5.0 Game Engine! - We updated the BabylonJS Game Engine to 5.0! Check out all of the enhancements. https://www.babylonjs.com

Basic Avatars Bone Parenting - After the update to Babylon version 5, while loading an avatar, when we try to parent the bones to the avatar base it throws an error. Although we previously used this method, it may not need this step, so it has been removed from active avatars and when editing an avatar in admin mode.

Sorted the Optional Avatar Animations - Added a sort array code to the additional animations so that you can search alphabetically to trigger the animation for your Avatar.

Load Avatar for Plugins vs Designer - When loading the avatar in the designer, the load avatar process tries to load the pluginsAvatarLoadComplete function, which is not available unless in full load mode. We added a check to see if the plugins function is available before trying to load it. Now it works when the avatar is loaded into the scene, but not when the avatar is loaded into the designer.

Save Avatar from Designer was Throwing Error - When saving your avatar from the designer, it was throwing an error on the defaultspeedratio, which was removed from the useravataranimations database table. We removed the reference to the field and now it functions without error.

WalkTheWeb v3.4.13

29 Apr 19:25
d28c7da
Compare
Choose a tag to compare

Release Date: 4/29/2022
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on version based Updates for 3D Communities, 3D Buildings, 3D Things, 3D Avatars, and User Avatars. It uses the share functionality to create new versions and make them available for others to download the new versions as updates.

Here are the details for this release:

Added Downloads Queue Table - We added a new table called downloads that will queue up potential WalkTheWeb 3D Downloads to your server. At this time, it is for 3D Communities, 3D Buildings, 3D Things, and 3D Avatars. The intent is to populate this table when items are requested to be downloaded from other sources (like the walktheweb.org website), then pending an admin approval on your server, the items will complete the download and add to your available 3D Webs respectively.

Added Download Date and UserID to Downloads Table - We added downloaddate and downloaduserid to downloads table to assist in determining if an item in the queue was downloaded and deleted or just canceled and deleted.

www.walktheweb.org Now Supports Downloads Search - We now added the WalkTheWeb Downloads functionality to the www.walktheweb.org website (work in progress to support the GitHub project and users/developers). These are the same downloads you can find within WalkTheWeb open-source. When you click download, you will be prompted for your WalkTheWeb URL and the system will add the download to a queue found on your Admin Dashboard. It will still require someone with admin permissions to download, but it makes it easier to prompt the download list.

Admin Dashboard Downloads Queue - On the WalkTheWeb open-source Admin Dashboard, when you have any downloads in the Queue (prompted from www.walktheweb.org website), they will show with the options to download or cancel. This downloads queue window only shows when there are downloads pending.

Toggle Admin Dashboard Windows - The toggle arrow to maximize or minimize the Admin Dashboard windows was not working properly. Corrected the code to hide or show the contents of the box for the resizing.

Downloads Functions added to the Communities Class - We added two functions to the wtw_communities.php class file to handle adding and updating records in the downloads queue. Add uses the addDownloadQueue function and supports the Connect class, while updateDownloadsQueue function is used by the handlers class to update a record to downloaded or cancelled in the downloads table.

Downloads Queue Handler for Updates - The Handler for the Communities Class now has the addition of updatedownloadqueue function case to process the updates to the downloads queue as downloaded or cancelled. Downloaded 3D Web records will have a downloaddate and downloaduserid in the table, both conditions mark the file deleted (processed and flagged to not show in the queue). No records are actually deleted.

Dashboard Connect Additions - The Admin Dashboard uses the connect/dashboard.php file to load the contents. We added code to include any downloads in the queue. If found, the process will use this information to validate the download and add additional information to it, such as preview image, title, description, version, and author.

Preview Feed for Downloads Queue - The downloads queue uses the minimum key field data to determine the item to download. In order for the Dashboard page to show the download information and preview image, we added a service on 3dnet.walktheweb.com that receives a set of downloadid, webid, and webtype (community, building, thing, or avatar) and returns the same data populated with the download information needed for the preview. The JavaScript function getDownloadsInfo in wtw_adminforms.js performs this process.

Corrected Image Previews for Avatars - When selecting an avatar, some of the legacy avatars used a different defined path. We updated the path to check for alternate path images before defaulting to a missing image type icon.

Added Ability to Delete My Avatar from List - When logging in, you are given a chance to select your avatar from a list of your previously used avatars. If you scroll to the bottom, we added a button to Edit My Avatars List. When selected it adds a delete button next to each avatar in your list. Select delete to flag the user avatar as deleted and no longer to show on the list. The actual records are not deleted. To cancel, click the Cancel - Edit My Avatars Button that replaces the original Edit button.

Updated pluginsGetMyAvatarList to support Edit Mode Parameter - We updated the existing pluginsGetMyAvatarList plugin hook to add a parameter determining if the My Avatars List is in Edit mode or not. zeditmode is passed and can be a Boolean true or false. If it is undefined, it defaults to false.

Delete User Avatar Functionality Added - We added a process for flagging a user avatar as deleted, where it will not show up on any of the lists. The process includes a deleteUserAvatar function in core/scripts/avatars/wtw_avatarfunctions.js, deleteuseravatar case in the /core/handlers/avatars.php, and a deleteUserAvatar function in the /core/functions/class_wtwavatars.php class. At this time, the avatar can be recovered only through setting the deleted column to zero in the useravatars database table.

Version Information added to WalkTheWeb Downloads - When searching for WalkTheWeb downloads, we now added version information to the feed from the 3dnet.walktheweb.com hub, as well as providing update user and date separate than the create user and date. Then we added them to the display when searching downloads from within WalkTheWeb Open-Source.

Added Int value for Version Order - Avatars, Communities, Buildings, and Things now have a version. In addition, we added a versionorder int field to the database which is a calculated sum of 1,000,000 x first digit, 1,000 x second digit, and the third digit. This makes it easier to sort the table in version order.

Connect Web files Added Userid - On the connect communities, community, buildings, building, things, and thing, they were returning the createdate, but we added the updatedate, updateuserid, and createuserid.

Save Template Share Form Version - The Process to save the Share form for communities, buildings, and things now saves the Version and Version Description. This includes the Form fields, JavaScript functions, Handlers, and Class functions.

Read Only Version on Info Page - Since the Version is controlled by Shared Webs (set when you share an upgraded Community, Building, Thing, or Avatar), we made the information page under Options and Settings show the Version and Latest Version Description as read only. Use the Share Page in the menu to create a new version.

Version Control in Database - For consistency, we are now using versionid, version, versionorder, and versiondesc fields to determine and track versions. Versionid is the key field value of the first version and remains the same during updated versions to keep the chain of updates preserved. Version is the 3 integers separated by period, where the first is major updates or rewrites, second is minor updates, and third is bug fixes or small modifications and adjustments. The versionorder is a numerical representation of the version used to sort the versions, as the sum of the first value multiplied by 1,000,000, second by 1,000, and third value as is. The versiondesc is a short note describing the update, Initial Version is the default value. This now applies to Avatars, Buildings, Communities, Things, UploadObjects, and UserAvatars. Some existing fields like versionuploadobjectsid were renamed to versionid for consistency.

keyExists Function Table Prefix - In the DB Class, there is a function to check if the keyExists that works with the getNewKey function. The getNewKey automatically added the tableprefix value to the table name, while the keyExists function did not. For consistency, the keyExists function now automatically appends the tableprefix value and it has been removed from the table names when calling the function.

Version Update for User Avatars - When you load your User Avatars, the selection window will now show you if there is an updated version of your avatar! Just click to update. This should preserve your custom colors and add any missing animations. It will replace animations that match the animationevent with the updated avatar animationevent. So you should make a backup copy of any avatar changes and custom animations you have from the original, you will need to update them again after the version update.

New User Update Avatar Process - In the Handlers, Avatar Class, and corresponding JavaScript (wtw_login.js and 3dinternet plugin), we added a process to update the user avatar to the latest version of the avatar based on the 3dnet.walktheweb.com hub repository. This includes downloading the avatar and animations. The process will overwrite any custom changes in the files, so make a backup before proceeding.

Version Check Service Now Available - We now have a versioncheck.php page available on https://3dnet.walktheweb.com/connect/ that you can send an array of items to check and receive the results of any updates currently available. Just send an array of webtype, webid, version, and versionid to receive updates. Webtype is community, building, thing, or avatar; webid is the id of the item to be updated, versionid is the id of the original version, and version is the current version loaded.