Allow to associate a URL to a room, for example a link to a video
conference room. Tracks assigned to this room will automatically inherit
the link. The link for a given track can be overridden using the "url"
command.
This allows organizers to provide video links for each room, while still
enabling teams to link to whatever they end up really using.
Change-Id: I633eb83c579e4093ae769bcd053e4d2ec2fe4bc3
Now that we have a page for etherpads, navigation between the various
page is a bit awkward. This change introduces a common navbar across
all pages, and makes sure the MOTD displays on all of them.
This makes some of the links redundant, so we remove them.
Change-Id: I57d02c505ced355d53bc79e0d8240ea63737eae3
It is sometimes useful to mark certain rooms as having specific
capabilities like videoprojection. This change adds the possibility
to assign a glyphicon (cap_icon) and a mouseover description
(cap_desc) for the rooms in the schedule dictionary.
Change-Id: I343c28acc3ad6015d3382d526511f153bf38a0e6
Currently it's not obvious that you can see who's checked into a room
by hovering the mouse over one of the room badges. This in turn makes
it less likely for people to check in, since they either won't be
aware of the feature, or will forget about it.
So game-ify check-ins by adding a new column to the "Current
discussion topics" table which displays the number of check-ins within
that room.
Story: 2005657
Task: 30945
Change-Id: I8d2bc716d39c70ff096f17b4da9ccf0a26bfc34f
Add the attendees tooltip to the now/next track badges, not just the
ones in the schedule timetable lower down.
Change-Id: Ibb92b1c520c6eebf78dabc0a052dd52fc5a40855
Add a new 'subscribe' command which allows people to subscribe for
automatic notifications via direct message of topics which match the
subscription regex they provide. With no regex argument it shows the
user's current subscription (if any). Also add a new 'unsubscribe'
command for clearing the regex.
Example use cases:
1. I know that nova is planning to discuss $TOPIC some time tomorrow
but they don't know exactly when, and I want to spend most of the
day in another room whilst ensuring I don't miss that particular
discussion on $TOPIC => "/msg ptgbot subscribe $TOPIC" will give me
notifications when the PTL types "#nova next $TOPIC" and "#nova now
$TOPIC".
2. I'm interested in *all* discussion on Python 3. I don't know which
projects are planning to discuss it, let alone when, but that
doesn't matter, because I can type "/msg ptgbot subscribe python ?3"
and get notified of all Python 3 discussions.
As with the presence tracking commands, these commands can be used in
public channels by preceding them with a '#' character.
Change-Id: I3f51acc318ecf31d435768640cef6c46d8ca136c
Add in/out/seen commands to let people voluntarily check in and out of
tracks and other arbitrary locations, to make it easy for others to
find them. Of course this is entirely optional.
It's designed to cope gracefully with people forgetting to check out
of locations they previously checked into.
Change-Id: I0d88a540ad7a333841c208dd7f2a7247897eb238
Now that we have beautified RST in OpenDev, just link to that
instead of to GitHub for help links.
Change-Id: Ia57a3ce71a26520b3a3b7c5392bd8ef880a68674
Remove mentions to "OpenStack PTG" as we invite much more
teams to the PTG than just OpenStack teams.
Change-Id: I85b0125b669c0ed970463efd98574480de1469a7
Add admin command to add (and clean) a message of the day (motd)
to the rendered page. Can be used for emergency messages (using
level 'danger') or more general information.
Change-Id: Ie84d1a826c2f84a7ccdafd08176eef9aa2c5a3f1
The bookable rooms functionality was bolted on top of the "normal"
schedule table using a separate table in the JSON and the config.
Now that bookable rooms are shown together with "regular" rooms,
we can merge the two concept and pay back that technical debt.
This is an incompatible JSON change so the database will have to
be ~reload-ed from configuration.
Change-Id: Ia37b6202b363614418b562b693b3dd807621aa97
Since there's already a hint on how to tell the bot to book a room,
and some people have been slightly struggling with updating track
info, add a couple of hints making it more obvious how to do this
without having to consult a larger README.rst. This should hopefully
encourage more people to help keep track info up to date.
Also include a link to the nicely rendered version of README.rst on
GitHub, so that if people are looking for more detailed help, they can
easily find it.
Change-Id: I3596d69dc84b635bc3a67ff7223a7ccfad27308e
Link to the bot README and to the IRC channel logs so that people can
more easily discover details of the process behind the generation of
this page.
Change-Id: I91347f7b9732ead934d56e4d1c84d94e08910a13
If someone issues a command like
#upgrades now Upgrades SIG https://etherpad.openstack.org/p/ffu-ptg-rocky
then make the URL a hyperlink so that viewers of the webpage can
easily jump to the etherpad to learn about the topic being discussed
and make a quick but informed decision whether it's worth them going
to that room.
To avoid duplicating the word iteration logic, we do this by extending
the existing "hashtag" helper; however this widens its scope beyond
merely formatting hashtags, so also rename the helper to reflect this.
Change-Id: I8e21ab9a1966a09a7b4ec1742eeb578cfd0a3f49
With the larger page to read, the refresh can be a bit painful.
Set it to once every 3 minutes instead of every 60 seconds.
Change-Id: Ic1d698e3d9287a6bc9935d541ce2196094ea67c2
This renders the same ptg.json data in a specific page
that will be used for digital signage at the event.
Change-Id: I126799a40b2b753096c8366d6fde93d1fbf2ae3d
Collapse the "scheduled" and "additional" tracks tables into
a single table. This extends the "roomcode" helper to be
smart enough to guess what the cell should contain.
Change-Id: I60887d5da0878820817f17c9f4fd1aa20f546aac
Stop displaying a line for a room in "additional tracks"
if it's actually not reservable at all during that day.
Change-Id: If7063b8bf00531cd154f49c3a3fbc88b1e16fa3f
Stop displaying slot reference codes in the "additional tracks"
table if the slot is actually not bookable
Change-Id: I367d75bcfc289475d28df2bbd524adda059f4b05
Available room slots can be booked for any track through
the ptgbot new #book command, referencing the slot code.
Change-Id: I0c661e448568c7f2f26fb296e3f2506ba1ed44ba
On the PTGbot web page, display a table showing what track
is running in which room, as well as a table for additional
rooms scheduling.
Change-Id: Ib3916cc60b827c54249b9a1e98710b5fcebe807b
Since a given theme/team may meet in several different
locations during the week, let's call that a "track"
rather than a "room" (which was a confusing concept
since we had "location" as well).
Change-Id: I0978f4c8b33954f53698d8a058b9a802556e56c1
In preparation for the fully IRC-driven system,
remove the code getting extra info from ethercalc.
Change-Id: I1a7092803630a790290205f0b202bc347c3f18c0
Google CDN is considering huge traffic as a potential attack. Better to
serve those static pages locally.
Change-Id: I5bb446f16e88889ad40ddbdf693f54b24e33e04f
This provides a sorting of the room list by iterating the total list
of rooms, and displaying information per room if available. Without
this the order of rooms jumps on each save based on the fact that it's
a dict/object and has no natural sort order. That can feel very
confusing.
Change-Id: I5375374091296cd7c23a3a8e2272aefcf6b2d896
One of the things that's hard about using the ptg page is that you
don't know where things are located. This allows you to set the
location on a room, which is displayed in a 3rd column, and will be
persistent after a new set of now (thus not requiring everyone to
remember to include it in their updates).
Change-Id: I12bac56e29cc5974d5c925f23eb94945e6e36421
In order to make the page more useful to attendees, make it auto
reload in browsers every 60 seconds so people aren't staring at old
info.
Change-Id: Iae43e6a736370733f7e5a5af358d70760355f073
Allow room managers to set the colors of rooms.
Change-Id: I252d52db0cdf6c25e7c9be95c0debb49bd983cbd
Signed-off-by: Doug Hellmann <doug@doughellmann.com>