Loading...
 

Pre-dogfood servers for Tiki 25 release process

As of 2022-11-25, themes, doc and dev are on 25.x so this page is very useful. You probably want: Pre-dogfood servers for Tiki 26 release process

You can check in the footer of each site to see if it's running 24x, 25x or trunk/master


Executive summary: This page has detailed information of test upgrade sites to help stabilize upcoming Tiki25. Ref: Pre-Dogfood Server

This is very useful for identifying and addressing Regressions in 25x


Information about this process and the server

  • This server was set up by Marc. Contact him for any questions.
  • Status as of 2022-10-08: System is functional and permitting developers to see obvious bugs (stuff you see on front page)
  • InterTiki is activated so you will be able to log in with your usual credentials from tiki.org. If you have issues, ask Marc for access.
  • Since we clone sites with the option --only-data of Tiki Manager, database and data files are transferred but some other things are not transferred (img/wiki_up, any local hacks, etc.) and thus, no point in reporting bugs about that. Instead take the time to fix things on the source sites.
  • Cron jobs:
    • A major refresh is done once per day (reset data to 24x and process to full upgrade)
    • Minor updates are twice per hour to help quickly check if a bug has been fixed
  • On trunk, this has been corrected, but on 24.x, if you see in the footer something like "Last updated (GIT 24.x:bf64a): Thursday 24 of March, 2022 18:01:14 GMT": This doesn't mean that the update was actually that old. It is because it is a commit in Git that was made a long time ago, and only recently added to 24.x You can check by comparing commit IDs here: https://gitlab.com/tikiwiki/tiki/-/commits/24.x/
  • To help with debugging, error reporting has been set to the maximum (All errors and warnings)
  • Except for Manticore testing, Unified index is set to a local Elasticsearch with no MariaDB as a fallback (and not the production Elasticsearch cluster with Federated Search)
    • preference.unified_engine = "elastic"
    • preference.unified_elastic_url = "http://localhost:9200"
    • preference.unified_elastic_index_prefix = "nextdev" (name changes depending on Tiki instance)
    • preference.unified_elastic_mysql_search_fallback = "n"
    • preference.federated_enabled = "n"
  • Memcached was turned off preference.memcache_enabled = "n"
  • Emails are not sent out preference.zend_mail_handler = "file"
  • We asked robots not to index nor follow (but they don't always respect that) preference.metatag_robots = "noindex, nofollow"
  • For the first time, the pre-dogfood server is running Virtualmin (and Debian)
  • The new server is a dedicated server, while the old one is a virtual machine. So performance will be more constant. tiki-check.php benchmark
    • old: 8.716 seconds (but as it's a virtual machine, this can fluctuate quite a bit)
    • new: 7.715 seconds
  • URLs below are to a search page with a lot of results, to help compare search performance

Big decision: Decide together where/how to report regression bugs on these sites

We have so much work to do, and we are already late on our schedule, so we have to be disciplined here. We want trunk to be as stable as possible before we branch to minimize backports. As part of the release process, we are only interested in:

  • Regression bugs from Tiki 24 to Tiki25 (regressions from 23 to 25: not the time)
  • Bugs visible on our dogfood servers (easy to see, easy to check they are fixed)
  • Bugs for key new features

For regular bugs, there is a clear process: Make a wish. But for regression bugs visible on these dogfood sites, it's acceptable, and possibly more efficient to have an alternative process. In the past, we have done dev mailing list, wiki page, chat, bug tracker. Each can work, but we must converge on a common solution/process to be efficient. We could very well have a different process for Manticore vs PHP 8.1 vs Markdown-WYSIWYG vs other (regular) upgrade bugs.

Todos

  • Check OpCache stats in a few days to see how we are doing (Marc) Done on 2022-10-09, will check again in a few days to see if it was enough.
  • Setup htpasswd u: next p: next (Horia?)
  • Activate GlitchTip. Let's start with a small sampling of error messages, and increase it as we fix the errors. (Anyone can volunteer?)

Why

We want pre-dogfood servers to help testing and make the release process smoother. Tiki25 is an exceptional release with WYSIWYG and Markdown which is a massive change, yet it should only impact sites activating it. We want to make sure of this. And we are also adding support for PHP 8.1

1.1. Sites

We make clones, and use System Configuration. See also Divergent Preferences in Staging Development Production.

1.1.1. Simple clone

A direct clone launched manually as needed (ex.: when data has been cleaned and we want to refresh)


Useful

  • to compare performance of two servers
  • to serve as a local data copy, avoid hammering production server for other clones (next sections)

1.1.2. Stable to trunk

Testing straight upgrades without any move to WYSIWYG and Markdown. This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Please report bugs here: Regressions in 25x

1.1.3. Trunk with markdown activated

This is where we simulate the experience of a community that wants to migrate to Markdown. This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


This profile is applied https://profiles.tiki.org/Markdown-Settings
And content is converted: turned off as of 2022-10-10 so Victor can run manually and see errors

php console.php markdown:convert --markdown --save -vv


Pull requests are welcome, however, do not report bugs on this, as our developers are not finished fixing the bugs they already know about.

1.1.4. Trunk with Manticore

This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Pull requests are welcome, however, do not report bugs on this, as our developers are not finished fixing the bugs they already know about.

1.1.5. Trunk with PHP81

This is done once per day with the clones from the section "Simple clone" above (so data is a few days old)


Pull requests are most welcome!

And please report issues here: Regressions with PHP8

1.1.6. next.tiki.org

next.tiki.org is a distinct process. Please reach out to Oliver about this.

Cron jobs

root:~# crontab -l

# Paris time

# Clone and upgrade all dogfood sites: full reset of data from local clone (which can be a few days old), and use of upgrade scripts.
# Daily at 01:20
20 1 * * * sh /root/predogfood.sh

About other sites

The following sites won't have pre-dogfood servers unless someone requests them:

Keywords

The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI & 508)
Accounting
Administration
Ajax
Articles & Submissions
Backlinks
Banner
Batch
BigBlueButton audio/video/chat/screensharing
Blog
Bookmark
Browser Compatibility
Calendar
Category
Chat
Comment
Communication Center
Consistency
Contacts Address book
Contact us
Content template
Contribution
Cookie
Copyright
Credits
Custom Home (and Group Home Page)
Database MySQL - MyISAM
Database MySQL - InnoDB
Date and Time
Debugger Console
Diagram
Directory (of hyperlinks)
Documentation link from Tiki to doc.tiki.org (Help System)
Docs
DogFood
Draw -superseded by Diagram
Dynamic Content
Preferences
Dynamic Variable
External Authentication
FAQ
Featured links
Feeds (RSS)
File Gallery
Forum
Friendship Network (Community)
Gantt
Group
Groupmail
Help
History
Hotword
HTML Page
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Import-Export
Install
Integrator
Interoperability
Inter-User Messages
InterTiki
jQuery
Kaltura video management
Karma
Live Support
Logs (system & action)
Lost edit protection
Mail-in
Map
Menu
Meta Tag
Missing features
Visual Mapping
Mobile
Mods
Modules
MultiTiki
MyTiki
Newsletter
Notepad
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Organic Groups (Self-managed Teams)
Packages
Payment
PDF
Performance Speed / Load / Compression / Cache
Permission
Poll
Profiles
Quiz
Rating
Realname
Report
Revision Approval
Scheduler
Score
Search engine optimization (SEO)
Search
Security
Semantic links
Share
Shopping Cart
Shoutbox
Site Identity
Slideshow
Smarty Template
Social Networking
Spam protection (Anti-bot CATPCHA)
Spellcheck
Spreadsheet
Staging and Approval
Stats
Survey
Syntax Highlighter (Codemirror)
Tablesorter
Tags
Task
Tell a Friend
Terms and Conditions
Theme
TikiTests
Federated Timesheets
Token Access
Toolbar (Quicktags)
Tours
Trackers
TRIM
User Administration
User Files
User Menu
Watch
Webmail and Groupmail
WebServices
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace and perspectives
WYSIWTSN
WYSIWYCA
WYSIWYG
XMLRPC
XMPP




Useful Tools

Show PHP error messages