Difference between revisions of "Updating: to 2.0.0"

From Lorekeeper Wiki
Jump to navigation Jump to search
Line 2: Line 2:
  
 
==New in v2==
 
==New in v2==
Following are the major changes for this release. For a full list of changes, see <LINK TO RELEASE ON GITHUB HERE WHEN FEASIBLE>.
+
Following are the major changes for this release. For a full list of changes, see <LINK TO RELEASE ON GITHUB HERE WHEN AVAILABLE>.
  
 
===Update to Laravel 8===
 
===Update to Laravel 8===
Line 115: Line 115:
 
If this does not resolve the issue, contact support.
 
If this does not resolve the issue, contact support.
  
==== Pulling Updates ====
+
====Pulling Updates====
 
Pull updates from the [https://github.com/corowne/lorekeeper Lorekeeper repo] on GitHub. You may have renamed this remote to "origin-old" as part of the set up process.
 
Pull updates from the [https://github.com/corowne/lorekeeper Lorekeeper repo] on GitHub. You may have renamed this remote to "origin-old" as part of the set up process.
  
* Prior to v2's formal release, pull <u>release/release-2.0.0</u>.
+
*Prior to v2's formal release, pull <u>release/release-2.0.0</u>.
 +
*Once v2 has released, pull <u>master</u>.
 +
 
 +
<br />
 +
 
 
*  
 
*  
  
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Update Guides]]
 
[[Category:Update Guides]]

Revision as of 11:18, 19 May 2021

Version 2 of Lorekeeper brings several new features and improvements, including the integration of the previous modified-main branch and its extensions, the integration of Extensions:Galleries, and the expansion of social media sites available for user authentication.

New in v2

Following are the major changes for this release. For a full list of changes, see <LINK TO RELEASE ON GITHUB HERE WHEN AVAILABLE>.

Update to Laravel 8

This update includes updating Laravel, the framework underlying Lorekeeper, to Laravel 8 (from 5.8). While the impact of this is relatively limited, it has some minor impacts in what methods are used for some tasks. This largely impacts extensions, which may need to be updated to account for these changes.

Extensions and Features from modified-main

modified-main was a branch incorporating several community-developed Extensions selected for their wide applicability and for falling into one of the following categories:

  • An unavoidable change in behavior, but one that is arguably a net quality-of-life improvement. May also be highly useful as a base for other extensions to build upon.
  • Opt-in/must be deliberately enabled for significant changes in the behavior of the site to occur. No more obtrusive than effectively optional functions in core Lorekeeper if not in use.

It includes certain extensions on an opt-in basis via a config file; these extensions tend to be sufficiently contained for this to be a viable option.

Also included are several minor but useful features:

  • Grouped Notifications: To account for the potentially large variety and potentially volume of notifications, they are grouped by notification type and collapse when there are more than 5 notifications of a type.
  • Toggleable Comments on Site Pages: Adds a toggle to site pages which enables/disables commenting on them. Disabled by default.
  • Extension Service: A utility for use by extension developers. By default, facilitates adjusting notification type IDs in a site's DB to comply with the Community Notification Standard. See the this command (made for Character Items) for an example of how to use this functionality.

This branch and its contents have been integrated into core as of this release, as they present strong improvements to the functionality of Lorekeeper.

Included Extensions

Documentation (where it exists) for these extensions can be viewed via Category: Extensions in modified-main.

Opt-In Extensions

Galleries

The Galleries extension has been integrated, providing Lorekeeper sites with the means to set up their own built-in galleries for user submissions of art and literature. See the extension's documentation for more information.

Authentication Update

This update is in two parts. The first changes how aliases are stored, handled, and used around the site, while the second expands the range of social media platforms usable.

Changes to Alias Storage and Handling

  • Aliases-- users' usernames on social media platforms, used to authenticate them within Lorekeeper for purposes such as verifying character ownership, etc.-- are now stored in their own table within Lorekeeper's database rather than alongside the rest of the user's information. This allows Lorekeeper to support more than one alias per user.
    • Users now have a "primary" alias, which is always visible and is displayed on their profile, similar to the previous system.
    • Users may also have multiple non-primary aliases. These may or may not be visible to other users, as set by the user.
  • A config file has been added which handles sites both for authentication and formatting purposes.
  • Various systems using or searching by user aliases have been updated to use either on-site user or URL (previously was either on-site user and alias or alias only).
  • Systems which previously checked if an entered alias (such as for character ownership) belongs to an on-site user have been updated to do so with entered URLs.
    • Features that make use of this require a URL from a site enabled for auth in the associated config file. deviantArt is enabled by default.
  • Various features which display URLs now format them as "username@site" in the vein of the previous deviantArt alias link formatting.

Expansion of Authentication Options

Adds the ability to use additional social media platforms as authentication options (compared to the previous sole option of deviantArt).

  • Sites may be enabled for authentication in the associated config file; they may also be enabled for use as a user's primary alias separately in the same file.
  • Users may select the platform used for their initial link from the sites enabled both as an authentication and primary alias option.
  • Users may manage their linked aliases. This includes:
    • Changing primary alias
    • Hiding/unhiding non-primary aliases
    • Removing non-primary aliases
  • Users may link multiple accounts on the same social media platform
  • A page has been added to user profiles (accessible via the sidebar) listing the user's aliases

Credits Page

A credits page has been added. It provides a portion editable via the site pages admin panel for site-specific credits, lists extensions installed by way of integration into core (as above), and supplies a section for other extensions installed and tracked via an extension tracking system. This is supplied via a config file and command for updating the on-site tracker (php artisan update-extension-tracker).

Updating to v2

As of v2, Lorekeeper now requires PHP 7.4 (previously 7.2). No other requirements are changed.

Summary

  • Update your server to use PHP 7.4
  • Pull the updates, resolving any merge conflicts as appropriate
  • Make any config file changes
  • (Recommended) Put your site in maintenance mode via php artisan down
  • Push updates
  • Run composer update or equivalent and then php artisan update-lorekeeper-v2
  • (Recommended) Verify that no errors have occurred and use php artisan up to remove your site from maintenance mode
  • Perform any configuration desired within the site

Full Guide

Note that this guide assumes hosting on Dreamhost; guides for other hosts will be linked as created by community members.

Updating your server to PHP 7.4

Note that this assumes your server is currently running PHP 7.2 as recommended for the previous version of Lorekeeper. If you are already running PHP 7.4, you can skip this step. To check, you may consult the Dreamhost control panel and enter into php -v PuTTY to check your PHP version.

  1. In the Dreamhost control panel, navigate to Domains > Manage Domains via the sidebar
  2. Click "Edit" for your site (under "Web Hosting")
  3. Under "Web Options", select one of the PHP 7.4 options for "PHP Mode"
  4. Click "Change settings". Allow 5-10 minutes or so for changes to process
  5. To verify changes, enter php -v into PuTTY

If after this php -v returns PHP 7.2 or others, follow these steps in PuTTY to update it (courtesy of this guide in the Lorekeeper Discord server):

  1. Enter cd ~ to ensure you are in your user directory
  2. Enter nano .bash_profile. This will open this file in the editor
  3. Add export PATH=/usr/local/php74/bin:$PATH to the end of the file
  4. Save the file by pressing ctrl+x, y, and then enter
  5. Enter . ~/.bash_profile to update the file you just saved
  6. Enter php -v again to verify that the update has worked

If this does not resolve the issue, contact support.

Pulling Updates

Pull updates from the Lorekeeper repo on GitHub. You may have renamed this remote to "origin-old" as part of the set up process.

  • Prior to v2's formal release, pull release/release-2.0.0.
  • Once v2 has released, pull master.