Marketing/Release
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
This is a work in progress
Coordination
This table should help to coordinate the work needed at the different stages of the release by the teams. The beginning date for the tasks is Feature Freeze. As a general advice:
- keep the communication on the list, off list messages for coordinating work are not recommended
- avoid multiple lists posting; discussions which span over several lists, will be too difficult to follow and will lose its effectiveness
Team | Deadline | Tasks | Comments |
---|---|---|---|
Marketing | |||
RC | |||
|
| ||
Final | |||
|
check on G+ - FB - Twitter - Identica - Linkedin - Reddit
| ||
Post | |||
|
| ||
Documentation | |||
Beta/Rcs | |||
|
to be coordinated with QA and Marketing to be coordinated for inclusion in l10n process | ||
Final | |||
|
to be coordinated with Marketing | ||
Website | |||
Beta/Rcs | |||
|
mirror propagation
| ||
Final | |||
|
coordinated with Marketing coordinated with Documentation mirror propagation/P2P/Torrents/ISO/Portable | ||
Development | |||
Beta/Rcs | |||
|
| ||
Final | |||
|
coordinated with Marketing | ||
QA | |||
Beta/Rcs | |||
| |||
Final | |||
|
|||
NLPs | |||
Beta/Rcs | |||
| |||
Final | |||
|
coordinated with Marketing |
At least two irc chats should be organized where all the projects are represented
- two weeks before the estimated release date
- one week before the estimated release date
If the release date is reported, one more irc chat should be organized
At least two members to coordinate, check that all the projects cross communicate on the tasks
Script to generate updated text for release notes web page
The following script generates updated contents for the release notes page. It depends on xmllint (from libxml2) and curl. Use the HTML edit mode in SilverStripe. Be sure to fill in the release dates based on the announcement dates. Click Expand to display the script.
#!/bin/sh
# Generate up-to-date text for https://www.libreoffice.org/download/release-notes/
# You only need to manually fill in the release dates.
# Not POSIX sh compliant (portability is not the point).
# Use xmllint to grab the version numbers, send errors to /dev/null
# Fresh is always the first span element, so [1], still is [2]
# Get the minor version by using cut with period as delimiter.
# Get final RC version from the old versions directory index.
# xmllint reads from stdin with - and we can use a here string to pass it the curled contents.
download=$(curl --silent https://www.libreoffice.org/download/download/)
old=$(curl --silent https://downloadarchive.documentfoundation.org/libreoffice/old/)
freshFull=$(xmllint --html --xpath 'string((//span[@class = "dl_version_number"])[1])' - <<<"$download" 2>/dev/null)
freshMajor=$(echo "$freshFull" | cut -d'.' -f3 --complement)
freshMinor=$(echo "$freshFull" | cut -d'.' -f3)
freshRC=$(xmllint --html --xpath "(//a[starts-with(text(), \"${freshFull}\")])[last()]/text()" - <<<"$old" 2>/dev/null | tr -d '/' | cut -d'.' -f4)
stillFull=$(xmllint --html --xpath 'string((//span[@class = "dl_version_number"])[2])' - <<<"$download" 2>/dev/null)
stillMajor=$(echo "$stillFull" | cut -d'.' -f3 --complement)
stillMinor=$(echo "$stillFull" | cut -d'.' -f3)
stillRC=$(xmllint --html --xpath "(//a[starts-with(text(), \"${stillFull}\")])[last()]/text()" - <<<"$old" 2>/dev/null | tr -d '/' | cut -d'.' -f4)
# Index 0 is first release, index 1 is first bugfix release
ordinalArray=("first" "first" "second" "third" "fourth" "fifth" "sixth" "seventh" "eighth" "ninth" "tenth")
# rc function is used for all except the first release.
# First argument is final RC version upon release, second is full version.
# Use here document to avoid escaping double quotes in the HTML.
rc() {
local i="1"
local rcVersion="$1"
local full="$2"
local rcString=""
while [[ $i -le $rcVersion ]]
do
if [[ $i == "1" ]];
then
read -r -d '' rcString <<EndOfMessage
<a href="https://wiki.documentfoundation.org/Releases/$full/RC$i#List_of_fixed_bugs" target="_blank">bugs fixed in RC$i</a>
EndOfMessage
elif [[ $rcVersion != "1" && $i == "$rcVersion" ]];
then
read -r -d '' rcString <<EndOfMessage
$rcString and <a href="https://wiki.documentfoundation.org/Releases/$full/RC$i#List_of_fixed_bugs" target="_blank">RC$i</a>
EndOfMessage
else
read -r -d '' rcString <<EndOfMessage
$rcString, <a href="https://wiki.documentfoundation.org/Releases/$full/RC$i#List_of_fixed_bugs" target="_blank">RC$i</a>
EndOfMessage
fi
i=$((i+1))
done
echo "$rcString"
}
# First argument is minor version, second is "fresh" or "still".
bugfix() {
# Second condition checks, if second parameter has been given.
if [[ $1 != "0" && -z ${2+x} ]];
then
echo "bugfix "
elif [[ $1 != "0" && $2 == "fresh" ]];
then
# Use here document to avoid escaping double quotes in the HTML.
# Start heredoc string with whitespace as we begin a new sentence.
cat <<EndOfMessage
For a list of fixed bugs compared to the previous release see the list of $(rc "$freshRC" "$freshFull").
EndOfMessage
elif [[ $1 != "0" && $2 == "still" ]];
then
cat <<EndOfMessage
For a list of fixed bugs compared to the previous release see the list of $(rc "$stillRC" "$stillFull").
EndOfMessage
fi
}
cat <<EndOfMessage
<h4><a style="display: block; position: relative; top: -5em;" name="Fresh"></a>LibreOffice ${freshFull} (YYYY-MM-DD) - Fresh Branch</h4>
<p><span class="dl_description_text">The latest "fresh" version of LibreOffice, recommended for technology enthusiasts, which contains new features and program enhancements.</span> This version may contain a few annoying bugs which will be fixed in the next bugfix versions to come. Detailed release notes can be accessed from the link below.</p>
<p>LibreOffice ${freshFull} is the ${ordinalArray[$freshMinor]} $(bugfix "$freshMinor")release of the fresh line.$(bugfix "$freshMinor" "fresh")</p>
<p>In case of problems on Windows related to OpenGL rendering, you can disable it completely by applying a registry setting (only needed if LibreOffice crashes on startup, otherwise you can disable it in Tools|Options → LibreOffice → View). You can find the necessary fragment <a title="registry setting to disable OpenGL based rendering" href="https://bugs.documentfoundation.org/attachment.cgi?id=118060" target="_blank">in Bugzilla</a> (save with a .reg file extension, then you can double-click on the file to apply the change).</p>
<p><strong><a href="https://wiki.documentfoundation.org/ReleaseNotes/${freshMajor}">Click here to learn about the new features in LibreOffice ${freshMajor}</a></strong></p>
<hr />
<h4><a style="display: block; position: relative; top: -5em;" name="Still"></a>LibreOffice ${stillFull} (YYYY-MM-DD) - Still Branch</h4>
<p><span class="dl_description_text">The mature "still" version of LibreOffice, recommended for enterprises. </span>As such, the version is stable and is suitable for all users. Detailed release notes can be accessed from the link below.</p>
<p>LibreOffice ${stillFull} is the ${ordinalArray[$stillMinor]} $(bugfix "$stillMinor")release of the still line.$(bugfix "$stillMinor" "still")</p>
<p>In case of problems on Windows related to OpenGL rendering, you can disable it completely by applying a registry setting (only needed if LibreOffice crashes on startup, otherwise you can disable it in Tools|Options → LibreOffice → View). You can find the necessary fragment <a title="registry setting to disable OpenGL based rendering" href="https://bugs.documentfoundation.org/attachment.cgi?id=118060" target="_blank">in Bugzilla</a> (save with a .reg file extension, then you can double-click on the file to apply the change).</p>
<p><strong><a href="https://wiki.documentfoundation.org/ReleaseNotes/${stillMajor}">Click here to learn about the new features in LibreOffice ${stillMajor}</a></strong></p>
EndOfMessage