-
Recent Posts
Blogroll
Current Contributors
- Across Campus
- El californio
- Environmental Investigation Agency's Blog
- Jonathan brach durch
- Library & Information Services
- Middle East Studies at Middlebury
- Middlebury Campus Store
- Middlebury College Bookstore Apple Desk
- Middlebury College Hillel
- Middlebury College Museum of Art
- Middlebury College Staff Council
- Middlebury College Student Government Association
- Middlebury Magazine
- Middlebury Web Makeover
- MiddPoints Weekly
- Music At Sixty-Eight Degrees
- Peer Writing Tutors & FYS Mentors at Middlebury
- Pre-Law Club
- Presidential Power
- Ron on Middlebury
- The Middlebury Landscape
- The Middlebury Trailrunner
- The Performing Arts Series
- The Segue from Segue
Middlebury Blogosphere
- Architecture Abroad
- Career Services: Careers in the Common Good
- Career Services: Internships
- Career Services: Senior Program
- Circulation Services
- Civic Engagement
- Digital Media Tutors
- Ecolefrancaise De Middelbury à Poitiers
- Environmental Investigation Agency's Blog
- Fellowships/Scholarships
- Film and Online Video
- Let’s Talk Poetry Now
- Library & Information Services
- LIS Divisional Advisory Groups
- LIS Suggestions
- Midd Blog
- Middle East Studies at Middlebury
- Middlebury Class of 2011
- Middlebury College Staff Council
- Middlebury College Student Government Association
- Middlebury Film & Media
- Middlebury Printing Project
- Middlebury Web Makeover
- MiddPoints Weekly
- MIIS@Work
- Monterey Institute Ambassador Program (MAP)
- Office of International Services
- Office of Student Services
- On That Note – The Middlebury College Music Library
- One Dean’s View
- Peer Writing Tutors
- Pre-Law Club
- Presidential Power
- Ron on Middlebury
- Rugby Blog
- Senior Admissions Fellows
- Student Symposiums: Resources for Presenters
- Teaching with Technology
- The Home of the Grille Ghost
- The Middlebury Landscape
- The Middlebury Trailrunner
- Virtual Worlds at Middlebury
Join the Midd Blogosphere!
-
Authors
- Adam Franco (17)
- Adam Franco (1)
- Alex Chapin (65)
- Alex Chapin (1)
- Ali Hamdan (8)
- Alison Darrow (68)
- Alison Lewis (2)
- Allison Carroll (8)
- Andrea Lloyd (1)
- Andrea Solomon (1)
- Andrew Wentink (4)
- Andrew Wentink (6)
- Anne Knowles (1)
- Arabella Holzapfel (90)
- Arabella Holzapfel (11)
- Astrid Schanz-Garbassi (1)
- Audrey Martino (3)
- Barbara Merz (1)
- Barbara Merz (23)
- Benjamin Bruno (5)
- Benjamin Molberger (3)
- Beth Miller (1)
- Biructait Mengesha (17)
- Brenda Ellis (32)
- Brenda Ellis (10)
- Bryan Carson (3)
- Bryan Merrill (1)
- Burchard Elizabeth (2)
- Carol Peddie (9)
- Caroline Damon (1)
- Carolyn Craven (1)
- Carrie Macfarlane (62)
- Cathy Vincent (1)
- Charlotte Tate (1)
- Cheryl Faraone (1)
- Cheryl Mullins (1)
- Chris Norris (42)
- Christopher Tangora (1)
- ckuebler (5)
- Clare Crosby (10)
- Cole Odell (3)
- Colleen Converse (4)
- Cynthia Slater (16)
- Cynthia Slater (15)
- Dan Frostman (36)
- Dan Frostman (9)
- Danielle Madison (1)
- Danna Gianforte (1)
- David Cannistra (2)
- David Guertin (1)
- David Imber (12)
- David Kauchak (1)
- Dean Leary (4)
- Derek Matus (4)
- Diane Munroe (1)
- Doreen Bernier (1)
- Doreen Bernier (26)
- Douglas Perkins (8)
- Drew (3)
- Edmund Sullivan (1)
- eiaenvironment (10)
- elennon (6)
- Elin Waagen (24)
- Elizabeth Lloyd (6)
- Ellen McKay (1)
- Firas Nasr (2)
- Frances Farnsworth (2)
- Francisca Drexel (1)
- Gail Borden (1)
- Gary Margolis (1)
- Gregory Buckles (1)
- Hafsa Ahmad (2)
- haidun (2)
- Hans Raum (22)
- Heather Stafford (167)
- Hillary Chutter-Ames (28)
- Howard McCausland (1)
- Ian Burke (16)
- Ian McBride (104)
- Ian McBride (1)
- J. Ashley Calkins (87)
- Jahd (1)
- Jaimie Park (6)
- James Beauchemin (6)
- Janine McDonald (12)
- Jason Mittell (12)
- Jean Kelty (1)
- Jeff (70)
- Jeffrey Lahaie (1)
- Jeffrey Rehbach (3)
- Jeffrey Rehbach (1)
- Jenna Bronson (2)
- Jennifer Herrera (8)
- Jennifer Pottinger (1)
- Jess Isler (37)
- Jessie Jerry (6)
- Jim Stuart (38)
- JoAnn Brewer (2)
- Joanna Shipley (1)
- Joanne Leggett (6)
- John Byrne (7)
- John Spackman (1)
- Jolene Newton (1)
- Jonathan B. (80)
- Joseph Antonioli (24)
- Joseph Antonioli (40)
- Joseph Durante (1)
- Joseph Watson (26)
- Joseph Watson (3)
- Joy Pile (7)
- Joy Pile (1)
- Judith Mayer (1)
- Julie Tumminia-Tomsuden (1)
- Justin Stearns (9)
- Kamakshi Murti (1)
- Kara Gennarelli (4)
- Karen Carpenter (7)
- Karin Hanta (9)
- Kate Schmitt (1)
- Kellam Ayres (3)
- Kellam Ayres (6)
- Ken Pierce (1)
- kguttent (2)
- Laura Carotenuto (14)
- LeRoy Graham (1)
- Linda Booska (13)
- Lisa Hoff (10)
- Lisa McLaughlin (4)
- Lisa Terrier (2)
- Lisa Terrier (5)
- Loretta Lee (1)
- Lucia Bragg (14)
- Lynn Dunton (1)
- Mack Roark (1)
- Madeleine Winterfalcon (4)
- Margaret Fischel (7)
- Margaret Fischel (3)
- Margaret Paine (5)
- Marian Johnsen (3)
- Mark Pyfrom (1)
- Marlena Evans (3)
- Mary Backus (11)
- Mary Cairns (3)
- Mary Ellen Bertolini (68)
- Matthew Biette (1)
- Matthew Dickinson (427)
- Matthew Jennings (3)
- Matthew La France (2)
- Matthew La France (18)
- Meghan Mason (1)
- Melissa Nicklaw (1)
- Meridith Messier (31)
- Michael Glidden (1)
- Michael Kraus (1)
- Michael Lynch (28)
- Michael Roy (50)
- Michael Roy (10)
- Michele McHugh (2)
- Michele Mondella (84)
- Middlebury Magazine (457)
- Middmag Update (10)
- Missey (19)
- Morgan Connor (2)
- Moriel Rothman (3)
- mzrothman (1)
- Naomi Neff (3)
- Nathan Burt (7)
- Nestor Sanchez Martinez (5)
- Norma Leduc (3)
- Olivia (1)
- P. Winkler (7)
- Patricia Dougherty (15)
- Patricia McCaffrey (1)
- Patricia Peters (1)
- Penny Campbell (2)
- Perry Richards (3)
- Petar Mitrevski (11)
- Petar Mitrevski (5)
- Peter DiPrinzio (1)
- Peter Kim (1)
- Peter Mackey (2)
- Peter Matthews (1)
- Peter Nelson (1)
- quinn (1)
- Rachel (1)
- Rachel Manning (8)
- Rachel Sider (53)
- Rebekah Irwin (66)
- Rebekah Wilson (35)
- Richard Jenkins (6)
- Richard Jenkins (1)
- Robert Davis (55)
- Robert Keren (3)
- Ronald Liebowitz (24)
- rougeau (2)
- Sam Michelman (10)
- Sandro Dakalovic (8)
- Sarah Franco (4)
- Sarah McGowen (6)
- Scott Goldberg (1)
- Shannon Bohler-Small (9)
- Shawn O'Neil (4)
- Sheila Andrus (23)
- Sheldon Sax (1)
- Sheldon Sax (7)
- Shirley Collado (25)
- Shirley Collado (2)
- Solon Coburn (1)
- Stacey Thebodo (1)
- Stanis Moody-Roberts (4)
- Stephen Paquette (2)
- Steven Bertolino (5)
- Sue Driscoll (2)
- Supriti Ghosh (3)
- Susan Burch (2)
- swit (1)
- Sylvia Manning (1)
- Terry Simpkins (110)
- tetchell (33)
- Theresa Funk (2)
- Thomas Corbin (4)
- Tiffany Sargent (1)
- Tim Parsons (124)
- Tim Parsons (2)
- Timothy Mosehauer (19)
- Timothy Spears (52)
- Timothy Spears (7)
- Tracy Himmel Isham (32)
- Travis Stafford (1)
- Tyler Lovas (2)
- Valerie Costello (1)
- Wendy Shook (5)
- William Warren (1)
- Ximena Mejia (1)
Tags » Middlebury
Vermont Parks Free June 12th and 13th
Categories: Midd BlogosphereVERMONT DAYS is coming up June 12th and 13th. All Vermont State Park day areas, state-owned historic sites, and Vermont’s History Museum will be open and free to the public. Saturday, June 12th is free fishing day – the one day in the year when residents and non-residents may go fishing without a license.
Comments Off
Welcome Dennis Hadley!
Categories: Midd BlogospherePlease join me in welcoming Dennis Hadley to LIS. Dennis started with us on April 12th and has assumed the position of Senior Technology Specialist at the Technology Support Helpdesk. Dennis comes to us from Paul Smith’s College in NY and brings a wealth of experience in higher-ed support and service to our helpdesk group and to our users. He has already taken the plunge into many support efforts and is adding more value to our group everyday! Please stop by the Technology Helpdesk and say hi to Dennis.
James Beauchemin
Technology Support Helpdesk
Comments Off
Introducing: The Identity Management Project
Categories: Midd BlogosphereThe Identity Management Project kicked off in December of 2009. The current project team (small ‘t’) is Tom Cutter, Adam Franco, Mike Lynch, Chris Norris, Carol Peddie, Mark Pyfrom, Jeff Rehbach, Mike Roy, and Marcy Smith.
The Identity Management (IDM) project seeks to organize our concept of a “person” or “identity” among our various systems (including Banner, the Active Directory, web-applications, hosted systems, and others). This project focuses on three facets of each identity:
- Unique identifier:
- Every identity would have a unique identifier. Currently, only people in Banner have one of its identifiers (guests and vendor-staff aren’t in Banner) and only people in AD have log-in names (alumni, parents, and others aren’t in the AD).
- Unified Properties:
- Each identity will have a set of properties (name, email, address, title, department, etc) that is consistent and available to all of our applications. Currently user properties may be different or unavailable depending on which source of user information is used; a person’s title is a good example of this inconsistency.
- Roles:
- Identities will gain zero or more “roles” that can be used to grant or deny access to our systems and services. We currently have no consistent way (in AD or web applications) of determining if a person is a current student, faculty, staff, or other role — the best we can do now is to look at membership in certain mailing lists like “All_Faculty”. With the IDM project, we will be able to access an authoritative list of the current roles for a person (visitors would have no roles) and will be able to ensure that access to services properly matches an individual’s relationship to the college.
In addition to organizing and improving the properties and roles of our current set of users (current students, faculty, staff, emeriti, vendors, spouses, and limited guests), the IDM project will also enable us to expand the number of usable (authenticate-able) accounts to include alumni, prospective students, and visitors. As well, we gain the potential to include users from other institutions via federated authentication systems such as Shibboleth.
Here is a list of a few things that will become possible with completion of the IDM project:
- Rather than accounts being immediately deleted upon graduation, they instead would loose the “student” role and gain the “alumnus” role. These users would continue to use their same log-in credentials access alumni-only and public resources (i.e. commenting on blogs, renewing library books), but would loose access to student-only resources (i.e. course websites, JStore and other subscription library materials).
- We will be able to grant access (individually or in groups) to many of our online systems for guests, alumni, emeriti, visitors, vendors, perspectives, and others with loose affiliations with the college.
- Inter-institutional projects will be able to make use of any of our online systems as collaboration platforms.
- A fan of Middlebury Hockey could create a visitor account to use for purchasing panther gear from the college book store, then come back and log in with the same account to purchase tickets from the box office, make comments on the coach’s blog, and fill out a form to sign up their kids for participation in the Winter Carnival ice show. Their name, email, mailing address, and other properties would be available to all of the systems.
Please note that some of these examples will require additional changes and development projects beyond the IDM project itself. However, all require aspects of the IDM project to be possible.
“Display Name” Updating Automatically
Categories: Midd BlogosphereThe “display name” (or alpha name) shown in the web directory, Outlook address book, etc. had in the past been set so that it could only be corrected or changed manually. This process has now been modified so name changes entered into the Banner database are flowing through the Active Directory table and are subsequently updating the web directory, Outlook, Segue, etc. in the format Last, First Middle.
One enhancement which should help people out as a result of this change involves the “Preferred First Name” field in the Banner database. For records that have had this data entered into Banner, the “Preferred First Name” is now appended to the “display name” and enclosed in parentheses in the format Last, First Middle (Preferred First).
Requests for “display name” changes should now be sent to the following:
- Middlebury college staff or academic year faculty: hr@middlebury.edu
- Middlebury college undergrad students: Commons coordinators
- MIIS staff or faculty: hrmiis@middlebury.edu
- MIIS students: Seamus Dorrian
- BLSE students or faculty: Susan Holcomb
- MMLA staff or faculty: Michelle Davis
- MMLA students: Jessie Jerry
- Language School summer staff or faculty: Sandy Bonomo
- Language School students: Kara Genarelli
It would be helpful to include the words “change display name” in the subject line of the e-mail message.
Tags: banner, directory, display name, eNewsletter, Enterprise Technology & Infrastructure, Middlebury, MIIS, Outlook
Comments Off
MiddLab: Call for Projects
Categories: Midd BlogosphereWhat are you doing this semester? If it includes working on a project or research covering topics that potentially span multiple disciplines, We’d love to hear about it. You can get in touch by emailing middlab@middlebury.edu.
What is MiddLab?
MiddLab will be a new section of our website that helps push information about scholarly and service work up to the top. We know that there are a lot of great academic resources built by people at Middlebury and many ongoing projects and activities that not everyone hears about or gets to see. The purpose of MiddLab is to:
- Tell people about this great work.
- See how it all ties together.
- Let people contribute to the discussion.
What do you want to know?
We’re very interested in hearing about the project work you’re doing this semester. This includes research projects, service learning projects, student organization work, entrepreneurial ventures, presentations, conferences, seminars and symposiums. This can be work done for any Middlebury or MIIS program or an independent project conducted by a member of one of those institutions.
Because we want to tell people about this work on the web, the project should produce some type of artifact that can be shown on the web: papers, posters, slideshows, videos, a website, a database, a blog. Don’t worry if your project doesn’t have many of these. We’re happy to do the work of converting what you have for the web.
If you don’t have a full project, but do maintain an existing online database or resource, let us know about that too. We’ll aggregate the information into MiddLab to increase the use and visibility or your resource.
What do I need to do?
We don’t want to add to your work, especially in the middle of a semester. To get involved, just submit the online form, or send an email to middlab@middlebury.edu. We’ll need to meet to discuss your project a couple times and you’ll need to help me a bit in handing off materials and checking the final product. More involvement is welcome, but we want this to be available to everyone, from the professor who lives online to the student who thinks a whiteboard is a bit too much new technology for the classroom.
What’s the timeline?
We’d like to hear about your projects this month and get together a couple times during March and April with the intention of having most of the information about the project compiled by the end of the semester. Over the summer, we will work on MiddLab to build out the site with all of the projects collected in this initial phase and host an “open beta” of the site where you can see it coming together. During the next fall semester, we hope to have MiddLab fully operational and allow direct submission and build-out of projects through the site, while continuing this organic process as well.
Thanks for your attention. We’re looking forward to hearing about your work.
Tags: Bread Loaf School of English, Bread Loaf Writers' Conference, eNewsletter, Institutions, Language Schools, MiddLab, Middlebury, MIIS, MMLA, Schools Abroad
Comments Off
Website Improvements #4: Previews
Categories: Midd BlogosphereAs I said at the start of this series, I aim to do at least one thing each week that improves our website for someone. Last week we had a number of improvements to the performance of the site that had a dramatic effect for everyone. Not every update to the site is quite that exciting. This update might not seem as significant, but it will help out people editing our site.
I also wanted to use this series to give more of a back-end explanation of what goes into these changes. This gives other schools and organizations running Drupal an opportunity to see what we’re up to, use our solutions to fix similar problems, and offer suggestions on how we could do this even better. I don’t want these posts to just be, “Yup, I added a button. Problem solved.” *dusts hands off*
But I do realize that those details might bore some people. So, if you want to know what’s changed:
- You can click Preview Live Site in the Edit Console to hide all of the Edit, Delete, etc. links, hidden menu items and other content available only to editors.
- There is a Preview button at the bottom of the editing form. Click it to see what your updates will look like before saving the node.
Preview Live Site
I’ve added a checkbox to the Edit Console labeled Preview Live Site. Clicking this will show or hide all of the links and content that are only visible to editors. These links are necessary to edit the site, but sometimes you want to be able to browse the site as a normal visitor would see it, so you can make sure that padding around images is correct and unpublished content isn’t being shown.
Here is the Library web site with all the editing links shown:
And here it is in Preview Live Site mode:
In order to give you the option to browse around the site with this option either off or on, I set a cookie when you click on the checkbox. A browser cookie is a text file your browser creates on your machine and sends back to the site that created it whenever you visit the site. In the case of this browser cookie, you tell Middlebury that the value of “midd_live_preview” is “preview”. As long as your browser retains that cookie, you’ll see the site in “live mode”. Unchecking the checkbox clears the cookie.
This requires the jQuery Cookie plugin. I added a checkbox with the id “livepreview” to our “Edit Console”, which is a floating tab of options for editing the site using Monster Menus. And this is the jQuery-enabled JavaScript that makes this work:
$(function() { // on DOM ready
$('#livepreview').click(function() {
var options = { path: '/', expires: 10 };
if ($('#livepreview').is(':checked')) {
$.cookie("midd_live_preview","preview", options);
$('.mm-block-links,div.links,.hidden-cat,.recycle-bin,.preview').hide();
} else {
$.cookie("midd_live_preview", null, options);
$('.mm-block-links,div.links,.hidden-cat,.recycle-bin,.preview').show();
}
});
if ($.cookie("midd_live_preview") == "preview") {
$('#livepreview').attr('checked', true);
$('.mm-block-links,div.links,.hidden-cat,.recycle-bin,.preview').hide();
} else {
$('#livepreview').attr('checked', false);
$('.mm-block-links,div.links,.hidden-cat,.recycle-bin,.preview').show();
}
});
Preview Button for Editors
I’ve added a button next to the Save button at the bottom of the node edit form for you to preview the change. Actually “added” is the wrong word, since the Preview button is always supposed to be there. There must have been issues with an earlier version of the editor that caused our colleagues at Amherst to hide this option, since they wrote:
mm_ui.inc:2335: // TinyMCE screws up the body in previews, so remove this button for now
mm_ui.inc:2336: unset($form['buttons']['preview']);
I was not able to detect any issues with the preview option, so I added this back in. Be sure to let me know if you notice anything awry. We will be moving to a newer version of TinyMCE, which is the WYSIWYG (What-you-see-is-what-you-get) editor we use very soon. This will accompany the addition of the WYSIWYG Drupal module that will let you choose whether you want to use TinyMCE or the FCKEditor. Stay tuned for more on this in a future update.
However, the normal Drupal preview mode shows you both the “teaser” and full versions of the node you’re posting. We use teaser versions in very few places on our site, making this potentially confusing to editors. Fortunately, Drupal lets me override the output of content through its themeing system and there’s a theme function for the preview mode of nodes. I added this quick function to our template:
function midd_node_preview($node) {
$output = "";
if ($node->body) {
$output .= node_view($node, 0, FALSE, 0);
}
return $output;
}
The node_view function takes the node as its first argument, whether to display the teaser version as the second, whether to display the node as its own page as the third, and whether to display editing links as the fourth. We just tell it to show the node, as it would be displayed to a site visitor and be done with it.
Website Improvements #3: Better Performance [Extended Edition]
Here are some additional notes about the update Adam gave last week on how we were able to improve sitewide.
Attack of the Search Bots
Adam discovered that there was a page on our site that was displaying a linked tree of the permission groups for the site – all of them. A couple search spiders found this page and started browsing its sub-pages. There are hundreds of thousands of permissions groups, up to four for every course taught at Middlebury going back years, mailing lists, etc. It’s important to note right here that only the name of the permission group is displayed through this interface, not its members. Still, having search bots crawling all of these pages slowed our site down to a crawl, and there’s no reason we’d want this content indexed anyhow.
Adam added a rule to the robots.txt file for our site telling search bots to ignore this path, which will also remove it from their indexes. He also placed the pages behind authentication so that other users wouldn’t slow the site down by looking through there.
Reducing Hits on the Database
We also began to look at how many requests to the database were being made each time a page on the site was loaded. Pages like the Student Life home page require over 500 database queries to run before they are loaded. Most of this overhead is fetching various pieces of information about menu items, display settings, permissions, and the many fields that some nodes on our site use. There were two things that stood out in these results.
1. There were many queries related to the Workflow and Locale modules. Workflow allows us to create edit -> review -> publish workflows for content approval, but we haven’t set any of these up yet. Still, just having the module enabled requires Drupal to check the database for each node to see what its current workflow state is. The Locale module lets us provide multi-language versions of content and display a version in the local language of a person visiting the site. Since none of our content has been translated, this isn’t useful for our site. I disabled both modules as one step in improving site performance.
2. The left-hand menu requires many queries to load. On the home page, even though we aren’t displaying the menu, it was still loading all sub-pages of the home page, just in case we did want to display them. I hid all sub-pages of the home page in its menu. This reduced the number of database requests to load the home page from 100 to around 30. The home page is the page most often requested on our site, so making it as fast as possible improves performance site-wide.
Moving Wordpress
We had originally hoped that we could set up a “high availability” MySQL server that would provide database space for Drupal, Wordpress, MediaWiki and other applications we consider part of our “core” supported web applications. This desire came up last Spring when an update to the main database server caused an issue in a little-used, old, third-party application to spiral out of control and disrupt services on several of these high-use applications.
Unfortunately, it appears that the combination of WordpressMU and the Drupal instances of both www.middlebury.edu and www.miis.edu generate so much database activity that MySQL couldn’t keep cached versions of these queries in its memory. Cached queries are really important for performance. When you make a request to the database like “give me all of the stories on the Midd home page” it will read from the server’s disks to find the answer, then keep a copy of the answer in active memory. The next time the database is asked that question, it can skip the step where it looks up the information on the disk. Retrieving information from active memory is several orders of magnitude faster than reading from disk, but it’s a much more limited resource.
With both applications running on the same database server, the query cache would quickly fill up, overflow and empty out, meaning that most requests to the database were being served from the disk. After Adam and Mark worded to get Drupal on its own database server, without Wordpress, over 90% of the queries sent to the database are served from the cache, greatly improving the responsiveness of the machine.
Removing Locks
On Thursday, February 11 at 10:07AM, the site crashed and was down for about 15 minutes. The database had stopped processing new requests and needed to be restarted. Before doing that, we looked at the last database query in the queue. It was a request to create a new user group in the groups table. This happens whenever you save a page after adding a single user to the page permissions. To simplify permissions requests, Monster Menus groups all single users assigned to a page together and creates a pseudo-group in the database. So if you add me, Adam and Mark to be able to edit a page, Monster Menus will create a group with each of our user objects in it and assign that group permission to edit the page, rather than each of us individually.
In order to keep these separate from the rest of the groups, they are inserted into the groups table with a negative ID. So a group with a positive ID will be something like “All LIS Staff”, but a group with a negative ID might be “temp group of Ian, Adam and Mark”. The database engine is designed to handle the case where two positive ID group creation requests occur at the same time, but not two negative ID group creation requests. In that case, which request gets assigned which ID?
This problem can be solved by placing what is called a “lock” on the database table until the current request is done processing:
db_query(’LOCK TABLES {mm_group} WRITE’);
$gid = db_result(db_query(’SELECT LEAST(-1, MIN(gid)-1) FROM {mm_group}’));
if (!$gid) $gid = -1;
db_query(’INSERT INTO {mm_group} (gid, uid) VALUES(%d, %d)’, $gid, $uid);
db_query(’UNLOCK TABLES’);
This says, “keep other requests out of the group table, give me the next lowest ID# from this table (in other words – the most negative ID#), create my new group, then let other requests have access”. The problem with this is: if the database fails to process the INSERT request for whatever reason, no other requests can access the table, new requests will pile up and the server will die.
There is a setting on the database that prevents this from happening called table_lock_wait_timeout. By default, this was set to a very high value, somewhere around 36,000 seconds or 10 minutes. We changed this to 30 seconds, which should give the server enough time to process the request or, if it can’t, let someone else have a chance.
The Access Denied page
The path to log into the site is http://www.middlebury.edu/cas (the last part is “cas” because we’re using the Central Authentication System to provide single-sign-on to Drupal, Segue, Wordpress, and MediaWiki). I had put the path to Drupal’s 403 (Access Denied) page in the configuration as this path, figuring that if people hit a page they could not view, it would direct them to the sign on page. However, because of the way Drupal draws its access denied page, it was actually bouncing people infinitely between the sign on page and the page to which they didn’t have access and not giving them a chance to sign on.
Several people had this happen to them, waited patiently – too patiently – for it to be resolved and caused a large number of requests to be generated against the site, decreasing site performance. Adam noticed this and set up an appropriate Access Denied page that resolves this issue.
That’s it for this week
If you have any questions, we’re always happy to answer them here and remember that we’re still taking feedback via the Web Feedback form. If I haven’t responded to your question through that form, let me know.
Comments Off



