diff --git a/.sandstorm/app-marketing-version b/.sandstorm/app-marketing-version new file mode 100644 index 0000000..393efcb --- /dev/null +++ b/.sandstorm/app-marketing-version @@ -0,0 +1 @@ +2017-02-19g~2020-06-20 diff --git a/.sandstorm/description.md b/.sandstorm/description.md index f5dc47d..fa09d15 100644 --- a/.sandstorm/description.md +++ b/.sandstorm/description.md @@ -1 +1,20 @@ -DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. The large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki. +DokuWiki is a simple to use and highly versatile Open Source wiki +software that doesn't require a database. It is loved by users for its +clean and readable syntax. The ease of maintenance, backup and integration +makes it an administrator's favorite. The large number of plugins +contributed by its vibrant community allow for a broad range of use cases +beyond a traditional wiki. + +## Sandstorm Upgrade Troubleshooting + +If you've upgraded DokuWiki and are now getting PHP errors in your pages, +you may have a plugin that needs to be upgraded or disabled. +See if the script referenced in the error is in `plugins`. If it is: + +* Try to disable or remove the plugin from the admin UI. +* If you can't disable/remove the plugin via the admin: + 1. Download a backup of the grain + 2. Unzip the backup into a new folder + 3. Remove the plugin folder from the unzipped backup tree + 4. Rezip up the backup tree, preserving the same base folders + 5. Restore the grain from backup diff --git a/.sandstorm/pgp-signature b/.sandstorm/pgp-signature index b260e5e..519b7d0 100644 Binary files a/.sandstorm/pgp-signature and b/.sandstorm/pgp-signature differ diff --git a/.sandstorm/sandstorm-files.list b/.sandstorm/sandstorm-files.list index 6f479bb..c38d2cb 100644 --- a/.sandstorm/sandstorm-files.list +++ b/.sandstorm/sandstorm-files.list @@ -481,6 +481,7 @@ opt/app/dokuwiki/inc opt/app/dokuwiki/inc/HTTPClient.php opt/app/dokuwiki/inc/Input.class.php opt/app/dokuwiki/inc/JSON.php +opt/app/dokuwiki/inc/JpegMeta.php opt/app/dokuwiki/inc/PassHash.class.php opt/app/dokuwiki/inc/Sitemapper.php opt/app/dokuwiki/inc/Ui/Admin.php @@ -495,6 +496,7 @@ opt/app/dokuwiki/inc/compatibility.php opt/app/dokuwiki/inc/config_cascade.php opt/app/dokuwiki/inc/confutils.php opt/app/dokuwiki/inc/events.php +opt/app/dokuwiki/inc/fetch.functions.php opt/app/dokuwiki/inc/form.php opt/app/dokuwiki/inc/fulltext.php opt/app/dokuwiki/inc/html.php @@ -755,6 +757,7 @@ opt/app/dokuwiki/lib/images/license/button/cc-zero.png opt/app/dokuwiki/lib/images/license/button/cc.png opt/app/dokuwiki/lib/images/license/button/gnufdl.png opt/app/dokuwiki/lib/images/license/button/publicdomain.png +opt/app/dokuwiki/lib/images/loading.gif opt/app/dokuwiki/lib/images/magnifier.png opt/app/dokuwiki/lib/images/media_align_center.png opt/app/dokuwiki/lib/images/media_align_left.png diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index 01db9fe..ca6216a 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -9,7 +9,7 @@ const pkgdef :Spk.PackageDefinition = ( # The package definition. Note that the spk tool looks specifically for the # "pkgdef" constant. - id = "s97k5f7mkzjtz6nn440cm2dyv5ay4p3aqaxumhp1mv2s5k35cfah", + id = "nx3dqcmz2sjjz939vkg4847vvxrzqsatqfjrt3ea50z3jac5kv7h", # Your app ID is actually its public key. The private key was placed in # your keyring. All updates must be signed with the same key. @@ -19,9 +19,9 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "DokuWiki"), - appVersion = 7, # Increment this for every release. + appVersion = 6, # Increment this for every release. - appMarketingVersion = (defaultText = "2017-02-19g~2020-06-13"), + appMarketingVersion = (defaultText = (embed "app-marketing-version")), # Human-readable representation of appVersion. Should match the way you # identify versions of your app in documentation and marketing. @@ -57,7 +57,7 @@ const pkgdef :Spk.PackageDefinition = ( website = "http://dokuwiki.org", # This should be the app's main website url. - codeUrl = "https://github.com/ndarilek/dokuwiki-sandstorm", + codeUrl = "https://github.com/johnbintz/dokuwiki-sandstorm", # URL of the app's source code repository, e.g. a GitHub URL. # Required if you specify a license requiring redistributing code, but optional otherwise. @@ -73,7 +73,7 @@ const pkgdef :Spk.PackageDefinition = ( author = ( # Fields relating to the author of this app. - contactEmail = "nolan@thewordnerd.info", + contactEmail = "sandstorm@leapingsheepfarm.com", # Email address to contact for any issues with this app. This includes end-user support # requests as well as app store administrator requests, so it is very important that this be a # valid address with someone paying attention to it. diff --git a/README.md b/README.md index 6a58985..c3d2c5e 100644 --- a/README.md +++ b/README.md @@ -8,18 +8,40 @@ A lightweight wiki for your personal use. * Runs in PHP 7 using PHP-FPM and an Nginx reverse proxy * Uses Sandstorm authentication +### Sandstorm Upgrades + +_(last updated 2020-06-20)_ + +The version in the app store is far behind the current releases of +DokuWiki. In order to minimize the amount of hassle with getting Sandstorm's +DokuWiki up to date with modern DokuWiki, new releases will be rolled out every +two or so weeks, giving existing Sandstorm users enough time to clean up +potentially conflicting plugins and other modifications, which will cause the +most issues when upgrading. + +The release plan follows the recommended versions as shown on +the [Download DokuWiki](https://download.dokuwiki.org/) page, +and will be updated as new releases are available in the [App Store](https://apps.sandstorm.io/). + +* [Currently in App Store](https://apps.sandstorm.io/app/nx3dqcmz2sjjz939vkg4847vvxrzqsatqfjrt3ea50z3jac5kv7h): 2017-02-19b +* Next: 2017-02-19g (old stable) +* Next: 2018-04-22c (stable) +* Next: rc-2020-06-09 (recommended version) + ## Troubleshooting -### PHP errors in the page +### PHP errors in the page, especially after upgrades -* See if the script referenced in the error is in `plugins`. You may have a - plugin that needs to be upgraded or disabled. - * If you can't disable/remove the plugin via the UI: - 1. Download a backup of the grain - 2. Unzip the backup into a new folder - 3. Remove the plugin folder from the unzipped backup tree - 4. Rezip up the backup tree, preserving the same base folders - 5. Restore the grain from backup +You may have a plugin that needs to be upgraded or disabled. +See if the script referenced in the error is in `plugins`. + +* Try to disable or remove the plugin from the admin UI. +* If you can't disable/remove the plugin via the admin: + 1. Download a backup of the grain + 2. Unzip the backup into a new folder + 3. Remove the plugin folder from the unzipped backup tree + 4. Rezip up the backup tree, preserving the same base folders + 5. Restore the grain from backup ## Building a new version @@ -36,5 +58,5 @@ A lightweight wiki for your personal use. git submodule init git submodule update bin/upgrade_dokuwiki -# follow the directions printed from the script +# follow the directions echoed from the script ``` diff --git a/bin/upgrade_dokuwiki b/bin/upgrade_dokuwiki index 50e1b72..67d14e6 100755 --- a/bin/upgrade_dokuwiki +++ b/bin/upgrade_dokuwiki @@ -1,22 +1,50 @@ -#!/bin/bash +#!/usr/bin/env ruby + +require 'time' + +system("bin/cleanup_dokuwiki") + +tag = ARGV[0] + +unless tag + puts "Usage: #{$0} " -bin/cleanup_dokuwiki -cd dokuwiki -git fetch -git checkout $1 -if [ $? -ne 0 ]; then - echo "Tag not found!" exit 1 -fi +end -cd .. +Dir.chdir "dokuwiki" do + system("git fetch") + system("git checkout #{tag}") -echo "Now:" -echo -echo "vagrant-spk vm destroy" -echo "vagrant-spk vm up" -echo "Test locally" -echo "vagrant-spk pack ../dokuwiki-sandstorm-$1.pkg" -echo "Test upgrade" -echo "vagrant-spk publish ../dokuwiki-sandstorm-$1.pkg" + if $? != 0 + puts "Tag not found!" + exit 1 + end +end + +puts "#{tag} exists, updating files" + +today = Time.now.strftime('%Y-%m-%d') +version = tag.gsub(/^release_(stable|candidate)_/, '') + +File.open('.sandstorm/app-marketing-version', 'w') { |fh| fh.puts "#{version}~#{today}" } + +lines = File.readlines('.sandstorm/sandstorm-pkgdef.capnp') + +lines = lines.map do |line| + next line unless line['appVersion'] + + line.gsub(/= ([0-9])+,/) { |m| "= #{$1.to_i + 1}," } +end + +File.open('.sandstorm/sandstorm-pkgdef.capnp', 'w') { |fh| fh.print lines.join } + +puts "Now:" +puts +puts "vagrant-spk vm destroy" +puts "vagrant-spk vm up" +puts "vagrant-spk dev to Test locally" +puts "vagrant-spk pack ../dokuwiki-sandstorm-#{version}.pkg" +puts "Test upgrade" +puts "vagrant-spk publish ../dokuwiki-sandstorm-#{version}.pkg"