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.
#!/usr/bin/env bash
# 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-libreoffice/)
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="Latest"></a>LibreOffice ${freshFull} (YYYY-MM-DD) - Latest Release</h4>
<p><span class="dl_description_text">The latest release of LibreOffice, recommended for technology enthusiasts, early adopters and power users, which contains new features and program enhancements.</span> This version may contain a few annoying bugs which will be fixed in the next minor releases to come, although it is stable enough for most basic tasks.</p>
<p>LibreOffice ${freshFull} is the ${ordinalArray[$freshMinor]} $(bugfix "$freshMinor")release of this line.$(bugfix "$freshMinor" "fresh")</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="Previous"></a>LibreOffice ${stillFull} (YYYY-MM-DD) - Previous Release</h4>
<p><span class="dl_description_text">The more mature previous release of LibreOffice, recommended for corporate implementations and more cautious users. </span>As such, the version is stable and is suitable for all users.</p>
<p>LibreOffice ${stillFull} is the ${ordinalArray[$stillMinor]} $(bugfix "$stillMinor")release of this line.$(bugfix "$stillMinor" "still")</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