Showing posts from 2013

Using Selenium with Excel VBA

We had to change the names of 700 students in the student information system that I'm the product manager for at work. Instead of requesting that our support team write a database script, I figured it would be a good opportunity to try using Selenium ( , ) to rename the students using the browser user interface. In the past I have written VBA (Visual Basic for Applications) scripts to control Internet Explorer and I wanted to extend that approach to control Firefox and/or Chrome. Excel VBA provides a very capable environment and the spreadsheet as an underlying model works very well for a class of problems. In this case we have a list of students already in the system and I added a couple of columns to contain the new first and last names. A simple loop through the rows using Selenium calls to manipulate the user interface and then record the results back in the spreadsheet is a straight-forward VBA macro. Of course, wi

Tips for DIY Websites for Non-Profit Organizations

With smaller non-profit organizations, often the primary owner of the website is a founder or key board member who has taken on the job of creating and maintaining the website as a Do-It-Yourself (DIY) effort. Often this decision is made because of lack of funding or perhaps because the person has a passion for communication and the web. The website (social media too, but a topic for another time) is a critical resource for a non-profit organizations to leverage. This is an "evergreen" posting so web searches are suggested with some links that are current now. The intended audience is the current or potential website owner within the non-profit organization. Design of the Website There are good resources available on the web for this topic. Search " designing websites for non-profit organizations ". This is a good article to review: I suggest you lay out the organization of the site i

PLATO Access Lists

At work today we discussed the need for a relatively sophisticated permissions system for controlling access to various features at a site we are building. I realized that something similar to what we were talking about was designed and built way back in the early 1980s on the PLATO system. Here's an Antiques Roadshow tour of PLATO Access Lists using a game I worked on in college as an example.... (if you want the PDF version contact me ). Avatar: A Multi-Player Dungeons and Dragons Game An Access List is a system-provided capability on PLATO that allows authors (developers) to create custom flags that can then be used to control access to various features of a lesson (program). The example shown here is for Avatar, a popular RPG on PLATO. Keep in mind that this was created in the early 1980s and 512 x 512 plasma (orange) panel screens were state-of-the-art at the time.