Skip to content

Update LingView

Kalinda Pride edited this page Sep 19, 2022 · 11 revisions

Occasionally, updates to the LingView software are published to GitHub. If you're downloading LingView for the first time, you automatically get the latest version. If you're already using LingView, you can update to the latest version using GitHub Actions, using a .zip file or with git.

Why update?

LingView updates are issued to fix bugs, improve usability, and/or add features. Examples include the ability for you to publish LingView websites for free using GitHub, for LingView to process a wider range of documents without errors, or for visitors to search your corpus for specific words and morphemes. For a complete list of updates, see the Changelog.

How to update

Github Actions method

This method is recommended if you already use GitHub Actions to automatically build your LingView website. It's similar to the git terminal method, but more user-friendly.

  1. Go to your GitHub repository's Actions tab.
  2. Click Prepare Upgrade in the left sidebar.
  3. Click the Run workflow dropdown on the right side of the page, then click the green Run workflow button.
  4. Refresh the page, and wait a minute or two while the workflow runs.
  5. When it's done, you'll see a green checkmark. If you see a red X instead, please tell [email protected] and then use a different method.
  6. Go to your GitHub repository's Pull requests tab.
  7. If there are any updates, you'll see a new pull request called Upgrade LingView Core. Click on it, then go to its Files changed tab.
  8. Resolve any merge conflicts (indicated by <<<<< or >>>>> in a changed file) by making additional commits on the master-upgrade branch. If you don't see <<<<< or >>>>>, you don't have to do anything.
  9. Go to the pull request's Conversations tab, scroll to the bottom, and click the green Merge button.

.zip file method

This method is not recommended if you've customized the LingView software by changing css, jsx, or preprocessing files.

  1. Save a copy of your data directory, to avoid losing your data. If you have modified other files, such as by adding content to the About page (jsx/App/AboutPage.jsx), save a copy of those too. You'll have to make those changes again at the end.
  2. Delete your LingView directory.
  3. Download LingView as a .zip file, using the green button on the main LingView page on GitHub.
  4. Extract the .zip file to the same location as your old (deleted) LingView directory, and rename it from LingView-master to simply LingView.
  5. Run npm install in your terminal.
  6. Replace the new data directory with your old data directory. Re-do any of your customizations to other files.
  7. Build your LingView website as you normally would (e.g. node preprocessing/rebuild.js followed by npm run webpack). Ta-da!

Git terminal method

  1. Start a merge from BrownCLPS/LingView by running the following commands in your terminal:
git remote add upstream "https://github.com/BrownCLPS/LingView.git" 
# If you got "fatal: remote upstream already exists", ignore it and move on
git fetch upstream
git merge --no-commit --no-ff "upstream/master"
  1. Discard any changes to your data directory.
git reset -- data
git checkout -- data
  1. Resolve any merge conflicts. Look at the diff to make sure there are no unintended changes.
  2. Run npm install. You may skip this step if there are no changes to the package.json file.
  3. Build your LingView website as you normally would (e.g. npm run quick-build).
  4. Commit your changes.

Notification about updates

There is no automatic updater for LingView. If you want to be notified about major updates, email [email protected] indicating your preference. You can also visit this GitHub site periodically and check the history for updates.

Clone this wiki locally