#4763 RFR: møte, the next MeetBot log wrangler
Closed: Fixed None Opened 8 years ago by cydrobolt.

== Introduction ==

møte is a MeetBot log and minutes wrangler. It directly reads from existing meeting log data, such as the data created by the conventional MeetBot plugin at the end of each IRC meeting.

== Phenomenon ==

Participation in IRC meetings is often extremely important in keeping up with the activities of a Fedora team, yet it is one that is especially cumbersome to many contributors. The timing of many meetings can be problematic, as we have contributors from around the world, often with their own day jobs or activities that impede their ability to attend many of these meetings during the times specified. This is the reason why all of our IRC meetings conducted using MeetBot are logged and stored on a central server, ready for viewing. However, the current meeting log viewer is quite barebones and hard to use. For teams such as the Ambassador team, coordination is paramount to involvement, and such a team would benefit substantially from greater community participation in keeping up with meeting minutes resulting from the implementation of an easier-to-use and full-featured log wrangler.

1) The current meeting log viewer is a simple httpd folder viewer. Channels are separated at the root, while teams are separated within another folder, "teams". This has caused prolific confusion among many contributors, unaware that their meetings in #fedora-meetings are being categorised in another folder, "teams". This viewer is unreliable for those looking to find a specific group or log and difficult to navigate.

[[Image(http://i.imgur.com/5DvS03t.png)]]

2) The current log viewer does not include any kind of possible integration with new implementations such as Fedmenu. Tampering with the MeetBot plugin would produce unreliable customizations to the meeting logs, as there is no easily-editable and modifiable central template for these meetings. If we were to modify MeetBot to include a header or Fedmenu, future logs would be stored with this script in its HTML, but this would not affect past logs. The current system, in its current state, is more of a file store than a "viewer".

3) The current MeetBot store also does not include features such as Search, Browse, aliasing, friendly-naming, or date browsing. This can be problematic for those not knowing where to start their search, or unaware of acronyms many groups use as their meeting team name. Many groups also place dates in their meeting team names, such as "APAC 2015-24-2015": without aliasing, it becomes difficult to find the right team name and select the correct log (e.g APAC 2015 and APAC 2014 under the same alias of APAC). Friendly-naming is also unavailable. We cannot expect new contributors to understand what "famna", "rdr", or "fad" mean.

== Solution ==

møte is the solution to bring order to the meeting log situation. It provides an easy-to-use interface, with features such as search, browse, date categories, aliasing, friendly-naming, and many more. Furthermore, møte also acts as a drop-in replacement: it can directly scrape the data it needs from the current meeting log folders, without any modifications to MeetBot. It can also mimic the old MeetBot folder structure, preserving the usability of old links but providing users with the new additions of the reimagined viewer.

[[Image(http://i.imgur.com/I5HaXtT.png)]]

== Implementation ==

møte is a Python Flask app, depending on the existing Python FAS openid package for user authentication and memcached for caching. It can be deployed using mod_wsgi in Apache, in a similar fashion to other Fedora Infrastructure apps such as nuancier or mirrormanager. It does not require a database, but it does depend on memcached for its caching.

møte should be run on the server value01, where zodbot/MeetBot is already running. This will allow møte direct access to the logs which it needs to read from.

møte is a drop-in replacement, so changing meetbot.fp.o to point to møte rather than the current httpd directory listing will not break any links. The current httpd directory listing and its original files, consequently, will need to be moved to another domain, such as meetbot-plain.fp.o

Having the original, untouched logs available publicly is critical to the functionality of møte, as it needs to fetch those remotely in certain situations.

møte is also packaged for F21, F22, and rawhide. It is built in copr and can be used directly from this link: http://copr.fedoraproject.org/coprs/cydrobolt/mote/builds/
I am planning to become a packager and publish its package in the Fedora package collection soon.

There are SELinux booleans that need to be toggled in order for møte to run correctly on Fedora, however.


I'm interested in sponsoring this. Cydrobolt and I have been talking about the design of it in #fedora-apps over the last few weeks.

Can we answer any questions about it for other sysadmins?

A thought -- mote will need to be packaged for epel6 and epel7 if its going to run on value01 alongside meetbot. That machine is rhel6 now but we plan to update it to rhel7 someday soon.

I removed pylibmc from the dependencies and migrated to python-memcached. The package should now be able to build on EPEL6 and 7.

Copr build: http://copr.fedoraproject.org/coprs/cydrobolt/mote/build/94402/

One thing I mentioned on irc that might be worth thinking about (perhaps for a 2.0 however) is to fold our fork of meetbot into this. That way the bot/meeting handling is also in the same package/place as the web interface. This would make it easier to modify both and also make it more a 'one stop' for communities needing a irc meeting setup.

Also, might be worth thinking about how this could interface with the 'hubs' idea. hubs might want to show or search meetings...

Finally, might be worth getting mizmo to take a look at the interface and provide some feedback.

Otherwise it looks interesting and should make meeting logs a lot nicer.

This is up in staging now for people to look at:

https://meetbot.stg.fedoraproject.org

A few comments:

1) Whats the difference between the 'mote' and 'home' buttons in the upper left?

2) Whats the login for? There shouldn't be anything to login to here?

3) If we want to monitor that it's working as expected with nagios, what would we monitor?

4) Do we need a SOP on this app? Is there anything we might need to do manually or troubleshoot?

5) Perhaps it's worth syncing prod->stg /srv/web/meetbot logs to make sure things all work with the full content? it's a bit sparse there now...

1) No difference, the mote link simply links to the homepage.

2) The login was initially to allow administrators to sync name/category definitions, but it can be taken out since it seems like we are using Ansible for that.

3) To monitor that everything is working, Nagios should make requests to its search and list APIs and make sure data is returned (or blank array if search is empty). Nagios should also make a request to the "browse" page in order to ensure that the alias definitions have been loaded correctly.

4) Currently, with the Ansible name definition setup suggested by Ralph, someone with access (presumably in sysadmin-main or sysadmin-mote) will have to run a playbook in order to sync up the name/category definitions. We might need a SOP in that case.

5) We could sync the logs to see if it all works with the content, although I've been testing it locally and in VMs with full content downloaded from value01, so it is unlikely that it would break.

Okay, just fixed the issue with mote staging. It should be correctly running version 0.1.2b1. I contacted Ralph about the Fedmsg consumer, hopefully we'll be able to get that created and deployed so that we can listen and update when meetings end.

ok, This is now in production right?

Anything else to do here, or shall we close this ticket out?

Yup. I think we can close the ticket now.

Login to comment on this ticket.

Metadata