text:
UserBase is a login system, user account manager, and password-protector for your website. It's easy to install if you're a bit tech-savvy, or we can install it for you today. It will run on pretty much any website/server, because it requires only Perl and MySQL, which virtually all servers have.
Live Demo
Instructions: Apache on Mac/Linux/BSD
Instructions: Apache on Windows
Instructions: IIS on Windows
Password-Protect Your Webpages and Directories
Here are a few screenshots of some of UserBase's admin-only pages:
To see the member-facing pages (sign-up, login, etc), check out the Live Demo.
- Simple installation, and easy integration into your website's existing layout (or, we can install it for you)
- Create unlimited user accounts and unlimited groups
- Can password-protect your entire website, or just the specific pages/folders that you choose
- Supports optional paid accounts with simple PayPal-based configuration and multiple payment levels
- Full control over account creation: administrators can add/delete accounts; public sign-up can be enabled; public sign-ups can be set to require admin approval and/or email verification before becoming active
- User registration / signup page is customizable with unlimited form fields, to collect whatever user information is appropriate for your site
- Users can change their own passwords, and reset them via email if forgotten, without the need for the webmaster's intervention
- Login sessions can be restricted to user's current IP address for increased security
- Can automatically lock accounts after a number of failed logins
- Can automatically timeout an idle session after a period of inactivity
- Can be configured to prevent or allow multiple simultaneous logins by the same username
- Can sleep for a specified number of seconds on failed logins for protection against brute-force attacks
- Salts passwords and never stores any plaintext passwords; only stores salted encrypted versions
- Customizable landing page so when a user logs in, he immediately see links to the member-only and/or admin-only resources that you specify
- Optional automatic redirection to pages you specify after login/logout
- Supports both HTTP and HTTPS, for sites that have SSL encryption certificates
- Works on virtually all servers (Apache, IIS, Windows, Linux, and OS X Server) and browsers (Chrome, Mozilla/Firefox, Safari, Opera, Internet Explorer)
- Tons more; see the FAQ and the userbase_prefs.cgi file in the trial version for details.
You can download the UserBase trial version and install it on your site right now; it includes instructions. The trial is designed for you to test on your server before purchasing the full version. As such, it has limitations and disabled features, including 4-character length limits on usernames and passwords, no "remember me" login option, no password reset feature, and more.
Quick Instructions for Most Servers (Apache on Linux, Mac OS X, BSD)
Most servers already have MySQL installed, but if yours doesn't, then download and install the free MySQL Community Server, and then create a database and a MySQL user account.
Unzip your userbase.zip file, then upload the contents of the www.example.com folder onto your website. Then visit the following address, replacing example.com with your own domain name:
If you see a message about adjusting your database prefs, then UserBase is working properly. You should now read the FAQ.
If nothing works, read the full instructions.
Quick Instructions for Apache-on-Windows Servers
Other than Apache itself, the only things strictly required are Perl and MySQL. If your server doesn't already have Perl installed, download and install the free ActivePerl. You may need to reboot after installing it. Open a command prompt and type perl -v and if you get some output about Perl and its version info, you should be all set.
If you had to install Perl, you will also need to install the DBD::MySQL Perl module, and possibly the MIME::Lite, MIME::Base64, and Authen::SASL modules (if you want to use any of the email features), by opening the Run dialog or a command prompt and then typing ppm install DBD-mysql (or ppm install MIME-Lite etc). Or you can run just the ppm command by itself to use the graphical installer.
Most servers already have MySQL installed, but if yours doesn't, then download and install the free MySQL Community Server, and then create a database and a MySQL user account.
Now unzip your userbase.zip file, then upload the contents of the www.example.com folder onto your website. Then visit the following address, replacing example.com with your own domain name:
If you see a message about adjusting your database prefs, then UserBase is working properly. You should now read the FAQ.
If nothing works, read the full instructions.
Quick Instructions for IIS-on-Windows Servers
If your server doesn't already have Perl installed, download and install the free ActivePerl. You may need to reboot after installing it. Open a command prompt and type perl -v and if you get some output about Perl and its version info, you should be all set.
If you had to install Perl, you will also need to install the DBD::MySQL Perl module, and possibly the MIME::Lite, MIME::Base64, and Authen::SASL modules (if you want to use any of the email features), by opening the Run dialog or a command prompt and then typing ppm install DBD-mysql (or ppm install MIME-Lite etc). Or you can run just the ppm command by itself to use the graphical installer.
If your server doesn't already have MySQL installed, download and install the free MySQL Community Server. Once it's installed, create a database and a MySQL user account.
Unzip your userbase.zip file, then open the www.example.com folder and move the contents of the cgi-bin folder into the login folder. Then delete the cgi-bin folder. Upload the "login" folder onto your website, then visit the following address, replacing example.com with your own domain name:
If you see a message about adjusting your database prefs, then UserBase is working properly. You should now read the FAQ.
If nothing works, read the full instructions.
Full Instructions for Most Servers (Apache on Linux, Mac OS X, BSD)
Note I: Do not edit the userbase.cgi file unless absolutely necessary; instead, edit userbase_prefs.cgi for all your customizations.
Note II: if you are using Windows on your desktop, and when you open the *.cgi file, the lines all appear to be crunched together, try opening it in Wordpad (not Word) instead. In Wordpad, save the file; this should fix the line-endings so the file's contents appear correctly in other editors like Notepad.
On your website:
- First, complete the quick instructions.
- Set the permissions on /cgi-bin/userbase.cgi (aka, chmod it) to world-readable and world-executable, that is, a+rx or mode 0755. Do NOT use 0777.
- Set the permissions on the /cgi-bin/encdata/ directory to world-readable, -writable, and -executable, that is, a+rwx or mode 0777.
- In your browser, go to yoursite.com/cgi-bin/userbase.cgi and follow the brief instructions that it gives you. (It will instruct you to set the database options in userbase_prefs.cgi. Once these are set properly, UserBase will create a README file in your encdata directory containing your initial login username and password.)
- If you get an Internal Server Error, it's most likely a permissions problem. See this page for more details.
- (Optional) For maximum security, consider purchasing and installing an SSL certificate on your server. This allows you to use https:// URLs instead of http:// URLs, which encrypts all communications between your website and its visitors.
- Read the FAQ.
UserBase is now ready to use, and you can access it by visiting yoursite.com/cgi-bin/userbase.cgi (or yoursite.com/login/ if your server supports it).
Full Instructions for Apache-on-Windows Servers
Note I: Do not edit the userbase.cgi file unless absolutely necessary; instead, edit userbase_prefs.cgi for all your customizations.
Note II: if you are using Windows on your desktop, and when you open the *.cgi file, the lines all appear to be crunched together, try opening it in Wordpad (not Word) instead. In Wordpad, save the file; this should fix the line-endings so the file's contents appear correctly in other editors like Notepad.
On your website:
- First, complete the quick instructions.
- In your browser, go to yoursite.com/cgi-bin/userbase.cgi and follow the brief instructions that it gives you. (It will instruct you to set the database options in userbase_prefs.cgi. Once these are set properly, UserBase will create a README file in your encdata directory containing your initial login username and password.)
- If it doesn't execute or you get errors, you may need to change the first line of the userbase.cgi file from #!/usr/bin/perl to either #!perl or #!c:\path\to\perl.exe
- If it doesn't execute or you get errors, you may need to rename the script and its prefs file from a .cgi extension to a .pl extension.
- If you get errors about UserBase being unable to delete something from the encdata folder, you may need to set a "Delete" bit on the folder's properties.
- (Optional) For maximum security, consider purchasing and installing an SSL certificate on your server. This allows you to use https:// URLs instead of http:// URLs, which encrypts all communications between your website and its visitors.
- Read the FAQ.
UserBase is now ready to use, and you can access it by visiting yoursite.com/cgi-bin/userbase.cgi (or yoursite.com/login/ if your server supports it).
Full Instructions for IIS-on-Windows Servers
Note I: Do not edit the userbase.cgi file unless absolutely necessary; instead, edit userbase_prefs.cgi for all your customizations.
Note II: if you are using Windows on your desktop, and when you open the *.cgi file, the lines all appear to be crunched together, try opening it in Wordpad (not Word) instead. In Wordpad, save the file; this should fix the line-endings so the file's contents appear correctly in other editors like Notepad.
On your website:
- First, complete the quick instructions.
- In your browser, go to yoursite.com/login/userbase.cgi and follow the brief instructions that it gives you. (It will instruct you to set the database options in userbase_prefs.cgi. Once these are set properly, UserBase will create a README file in your encdata directory containing your initial login username and password.)
If it doesn't execute or you get errors, you may need to complete one or more
of the following steps (most are not necessary on most IIS servers, so try one at a time):
Rename the script and its prefs file from a .cgi extension to a .pl extension.
Change the first line of the userbase.cgi file from #!/usr/bin/perl to either #!perl or #!c:\path\to\perl.exe
For the /login/encdata folder, do the following: right-click on the folder, choose Properties, and go to the Security tab. Find or add the IUSR_computername account, and give it "Full Control". This account is sometimes called the Internet Guest Account.
Run the inetmgr command and change the CGI web service extension from "prohibited" to "allowed". If your Web Service Extensions list doesn't include an item for Perl CGI scripts, then add a new one (named something like "Perl CGI", or "CGI Scripts", etc -- the name is not important), and for its "Required Files", enter C:\Perl\bin\perl.exe "%s" %s (adjust the path as necessary for your Perl installation)
Run the inetmgr command and right-click on the website and choose Properties. Go to the "Home Directory" tab, then to "Application Settings", and set "Execute permissions" to "Scripts and Executables".
Run the inetmgr command and go to "Application Settings" then "Configuration", and add an application extension for .cgi (and .pl) with the executable set to: C:\Perl\bin\perl.exe "%s" %s (adjust the path as necessary for your Perl installation)
Run the inetmgr command and right-click Default Web Site (or your site's name, if different). Then click New -> Virtual Directory and follow the prompts, entering "login" as the name of the virtual directory, and choosing UserBase's login folder (c:\inetpub\wwwroot\login\ by default) for the path. For Access Permissions, check (enable) the Read, Run Scripts, and Execute boxes. When finished, right-click the new virtual directory and choose Properties -> Application Configuration -> Mappings, and make sure there's a .cgi (and/or .pl) extension there, mapped to the C:\Perl\bin\perl.exe "%s" %s command (or your server's path to perl.exe).
If you get errors about UserBase being unable to delete something from the encdata folder, you may need to set a "Delete" bit on the folder's properties.
- (Optional) For maximum security, consider purchasing and installing an SSL certificate on your server. This allows you to use https:// URLs instead of http:// URLs, which encrypts all communications between your website and its visitors.
- Read the FAQ.
UserBase is now ready to use, and you can access it by visiting yoursite.com/login/userbase.cgi (or yoursite.com/login/ if your server supports it).
Password-Protection Options
Password-Protect Individual Webpages: PageLock
Password-Protect Whole Directories: DirLock
Password-Protect Files and Folders: FileChucker
Password-Protect Individual Pages Without PHP: BasicLock
Password-Protect CGI Scripts: CGILock
PageLock: Password-Protect Individual Webpages
(requires: PHP exec function)
If your server supports PHP (most servers do) then you can use UserBase's PageLock feature to password-protect web pages on it. First, if the web page that you want to protect has some extension other than .php, such as .html, then either a) change its extension to .php, or b) configure your server to parse .html files as PHP files. Then, insert the following code as the very first line in your protected web page (it's split onto multiple lines here for readability; either single or multiple lines is fine):
$groups_allowed = "member,other_groupname";
$users_allowed = "Joe,Steve,Bill";
require($_SERVER['DOCUMENT_ROOT'] . "/login/ublock.php");
Within that code, you should adjust the $groups_allowed and $users_allowed lists to control access the way you want to for that particular page. You can delete the $groups_allowed line if you only want to use $users_allowed, and vice-versa, but you must have at least one of them. To add your own groups, log in to UserBase with your admin account, go to the Main Menu / Account Center page, and click the Manage Groups link; on that page you'll find an Add New Group link. After you've added your new group, you can go to the Manage Users page and edit individual accounts to add them to whichever groups you want to.
Now when you visit that page in your browser, if you're not logged in, it will require you to log in first.
DirLock: Password-Protect Whole Directories
(requires: .htaccess RewriteEngine and RewriteRule commands)
To password-protect a whole directory, without using PHP, and without editing individual files within the directory (which means all the pages and files will have the same permissions), use the DirLock feature via the /login/protected/ folder from the UserBase installation. This method protects all file types.
Either copy the whole "protected" folder to the top level of your website, or, if you already have a directory there that you want to protect, then just copy the .htaccess file from the /login/protected/ folder into your existing directory. Adjust the $PREF{protected_directory_01} settings in your userbase_prefs.cgi file, and also adjust the .htaccess file to match those settings if necessary (not usually required unless you've got more than one protected directory). Now any URL on your site starting with www.yoursite.com/protected/ will run through UserBase and will be protected according to your settings.
If your server gives an error because of the .htaccess file, then it probably means your server is configured to not allow .htaccess files, or at least, not the specific commands in this .htaccess file; in this case, you'll need to either ask your hosting company to allow them, or else use one of the other password-protection options.
FileChucker: Password-Protect Files and Folders
(requires: FileChucker)
Use FileChucker together with UserBase for advanced protection of files and folders. FileChucker is an online file manager with an upload progress bar and full-featured browse/download page, where you can set individual features to members-only (such as uploading, browsing, downloading, etc), or enable private per-user subfolders, or set totally custom per-folder permissions, all based on your UserBase users and/or groups.
BasicLock: Password-Protect Individual Pages Without PHP
(requires: nothing special. for servers with limited capabilities)
If your server doesn't have PHP, or if your hosting company won't allow you to use the exec() or include() PHP functions, and you don't want to switch to a better hosting company, you can still password-protect your webpages with the BasicLock feature. To do so, you must create a directory to store your protected pages in, and you must add 2 lines to the top of the HTML code on each page that you want to protect. Then you need to take steps to protect the directory containing your pages, and finally you must choose how you'll link to the protected pages. The following paragraphs will explain these steps in detail.
Note that while these initial setup instructions are a bit long, they're relatively simple to do; and once the initial setup is finished, then creating a new password-protected page is simple: just do step #3 for the new page.
The first step is to create the directory which will hold your protected webpages. We won't be serving the webpages directly from this directory, so its name will never be displayed in any of your links or page addresses. And in fact, you'll want to give the directory a slightly long name and then keep its name a secret -- this is a bit of security through obscurity, but it's not the only security we'll be using. For example, you might name this directory "protected-webpage-storage-directory".
Now you must decide where to place this directory. If your server allows you to create directories outside of your website's document-root -- that is, directories that cannot be accessed on your website -- then do that for this protected directory.
If you can't store directories on your server outside of your website's directory, that's OK; we have other ways to protect the folder. Just put it in the top level of your website in this case. Most servers give you a way to specify that a given directory cannot be accessed at all through the web; on Apache servers this is accomplished by creating a file called .htaccess within the directory and then putting the following lines into it:
RewriteEngine On
RewriteRule .* - [F,L]
With that file in place in your "protected-webpage-storage-directory" folder, try visiting www.yoursite.com/protected-webpage-storage-directory/ and you should get a "Forbidden" message. If so, then it's working properly. If you get an error, then your server may not allow those commands in an .htaccess file. So delete the .htaccess file and try this one last trick:
On most servers, any file with a .cgi extension will be treated as a script and executed, instead of being simply displayed as a text file or webpage normally would. We can use this to prevent our protected pages from being served. Just name your files with a .cgi extension instead of the normal .html extension. (And don't worry: in the addresses and links to your pages, this extension won't show up -- you can still use .html as usual.) Create a test page named test.cgi and put a few lines of text into it, then upload it to your server into your "protected-webpage-storage-directory" folder. Then try to access www.yoursite.com/protected-webpage-storage-directory/test.cgi. You should get an "internal server error" or similar message saying that the file couldn't be displayed or executed. If you don't, and the file is instead displayed as a normal webpage, then you're out of luck. You'll just have to rely on the fact that the name of your protected folder is a secret -- or switch to a better hosting company already!
The second step is to tell UserBase where you've put the protected directory, by editing your userbase_prefs.cgi file and adjusting the $PREF{protected_pages_directory} setting. If the directory is within your document root, then you should start this setting's value with %PREF{DOCROOT}, for example "%PREF{DOCROOT}/protected-webpage-storage-directory". If your protected directory is one level above your docroot, then you could set this to "%PREF{DOCROOT}/../protected-webpage-storage-directory". Or if you know the full literal path to the directory, you can of course set it to that.
The third step is to put one or both of the following 2 lines at the very top of the HTML code for each web page that you want to protect:
<!-- allowed_usernames=Joe,Bob,Steve -->
<!-- allowed_groups=member,other_group,etc -->
Of course, adjust the usernames and groupnames for the accounts and groups on your own site. Then upload the page into your "protected-webpage-storage-directory" folder. Now because of the protections we applied in step #1 above, you should NOT be able to access this page through your website by going to www.yoursite.com/protected-webpage-storage-directory/pagename.html -- unless of course your server didn't support any of the protections that we tried to apply.
The fourth and final step is to decide how you want to access your protected pages. The simplest way is to simply use the full URL to UserBase, like this: www.yoursite.com/cgi-bin/userbase.cgi?ppge=pagename.html
However, on most servers, we can use a much nicer shorter URL.
Hopefully your server is a normal, decent server that supports URL rewriting. In this case, you can create a directory -- call it "private" or whatever you want to -- and then put a .htaccess file into it containing the following lines:
RewriteEngine On
RewriteRule (.*) /cgi-bin/userbase.cgi?ppge=$1 [L]
Now visit www.yoursite.com/private/pagename.html and UserBase will automatically transparently load the file pagename.html from your protected directory, not from this "private" directory, and -- if you have permission to view it -- it'll display the page.
If that doesn't work on your server, you can try using an .shtml file instead: inside your new "private" directory, create a file called index.shtml, and put the following line into it:
<!--#include virtual="/cgi-bin/userbase.cgi?ppge=$QUERY_STRING" -->
Now visit www.yoursite.com/private/?pagename.html (note the question-mark). If that also does not work, then you can try moving your userbase.cgi and userbase_prefs.cgi files from your cgi-bin directory to the top level directory of your website -- i.e. www.yoursite.com/userbase.cgi -- because many servers allow CGI execution from any directory, not just within the cgi-bin directory. And you can even rename userbase.cgi to whatever you want, as long as it has a .cgi extension, and as long as you rename the prefs file to match. Once you've moved it, visit www.yoursite.com/userbase.cgi?ppge=pagename.html. If that also doesn't work, then it's time to find a better hosting company, seriously. In the meantime, you'll have to put UserBase back into your cgi-bin folder and just use the full URL to it: www.yoursite.com/cgi-bin/userbase.cgi?ppge=pagename.html
With this method, the filenames that you use in your addresses and links can have whatever extension you'd like. It's generally best to stick with .html but if you have reasons for using a different extension that's no problem.
CGILock: Password-Protect CGI Scripts
(requires: nothing special)
You can also use UserBase to password-protect other CGI scripts. For Encodable apps, just enable the $PREF{integrate_with_userbase} setting. For other CGI scripts/apps, use the CGILock feature via the code in the example script userbase_caller.txt. Just copy and paste the code from it into your existing CGI script.
For many issues, the best place to get support is in the FAQ.
If you are getting an Internal Server Error message when you try to access UserBase on your server, please try the solutions on our Internal Server Error page.
If you're getting errors about missing Perl modules, please see our instructions on how to install Perl modules.
If you still need help, you can contact us.
(Get the latest version!)
v3.02 (20150609):
- New PageLock/DirLock Manager: you can now lock/unlock your password-protected webpages and folders all via web browser, without having to manually edit any files/folders on your site.
- New password-strength meters on all new-password fields, so that you (or more to the point, your users) can see how strong or weak your password is, and thus be encouraged to use a better one.
- Bugfixes.
v3.01 (20150417):
- Bugfixes.
v3.00 (20150413):
- Introducing WebConfig! You can now do all of UserBase's configuration via web browser, without having to edit any config files. But the config files (prefs files) are still there, and can still be used, if you prefer that method instead.
- Security upgrade: UserBase's authentication system has been updated to a newer, stronger hash, and now also uses a per-site salt to further strengthen the hashes, as well as a large number of hash iterations for additional protection. Accounts on existing installations with have their stored password hashes automatically upgraded on each account's next login, or you can force-reset them immediately.
- New interactive database-settings-config page, where you can enter your database settings and test them via a single page in your web browser.
- New interactive email-settings-config page, where you can enter your email server details and test them (by sending a test email) via a single page in your web browser. Very useful for when your email provider changes a setting on you, or your emails just seem to stop arriving for some reason, etc. The problem in those cases is virtually never with UserBase, but now it'll let you quickly pinpoint what IS causing it, and correct the settings easily.
- Many other improvements and bugfixes, with details coming soon.
v2.55 (20141118):
- We now automatically strip leading and trailing spaces from usernames and passwords during login. This might not seem like a big deal, if you don't know that a scarily-large percentage of users will ONLY ever login by copying and pasting their user/pass from somewhere they've saved it, and that they'll often have random spaces stuck on the end of their pasted text... with the result being that these kinds of users repeatedly have failed logins, and then repeatedly reset their passwords, only to re-create the same problem for themselves over and over again. So you can save these users (and yourself) a lot of headache by keeping these new strip_leading_and_trailing_spaces prefs enabled.
v2.54 (20140314):
- We're now using the mysql_auto_reconnect feature again, after a longstanding bug in that Perl module was apparently fixed, meaning we no longer have to rely on our own internal workaround for dropped MySQL connections, which is good since it only worked about 99% of the time -- it was still possible for a dropped connection to cause an error that we couldn't detect, if the drop occurred at just the right (wrong) time.
- New Test Email Sending link on the admin menu, for easier access to the ?do_email_test page.
- The email test page has been greatly improved, with a more detailed explanation of which delivery methods were tried, which prefs need to be adjusted in the event of a failed delivery, notes about required Perl modules and SMTP auth, and where to find more help.
- New treat_sendmail_closing_error_as_failed_delivery setting, required on some servers where sendmail doesn't act quite right so we couldn't tell for sure whether a message had been successfully sent.
- Bugfix: when email delivery fails and we retry 2 times before giving up, if all 3 attempts failed, our error message said "attempt 4 of 3" instead of "3 of 3".
v2.53 (20140224):
- New $PREF{title_text} setting, used throughout many other prefs (mainly email templates) replacing the previously-hardcoded "UserBase" string, to easily customize them all at once with the name of your business or organization.
- New static_css_url and static_js_url settings, and a new feature that creates and updates them automatically, so that embedding UserBase into a page in your website is easier and will load faster.
- Re-organized the prefs file to move shared prefs (mostly styling and text strings) to a single section, to make multi-app installations easier to configure.
- Split the user_form_fields_template up a bit into smaller sub-templates so it's easier to put prefs adjustments in a _prefs_extra.cgi file without having to pull in such a big template, which kind of defeats the purpose.
- Improved the documentation on the Mainmenu Editor page: moved it from the page footer to per-field, and added an explanation of the best URL format to use for the links.
- Bugfix: the format=justlink and format=mini embed features (to show just a login/logout link, or a mini login form) would instead display the forced you-must-change-your-password-now message for accounts that needed to do that, when the link/mini form was included on a page where UserBase itself was also embedded, resulting in that change-password form appearing twice on the same page.
- Bugfix: the sort order of the group-links tables on the Account Center page was wrong on sites with more than 9 groups (stinkin' string-sort...)
- Bugfix: if a user signs up for an account, and the admin deletes the account (deciding not to approve it) before the user clicks the link in the verification email, then if/when the user does click that link, he'd get an obscure MySQL error. Now he gets a simple "Error: account not approved" message instead.
v2.52 (20131202):
- Bugfix: on the Account Center page, installations that were updated from a previous version might show duplicate links for View Group Log and/or View Sent Mail.
- Bugfix: the Join A Paid Group page would display an error if no promo_code custom field had been created.
v2.51 (20131126):
- New mail-retry feature, so that when we try to send an email but it fails, we'll automatically retry 2 times right away. Of course this can't overcome sending errors that are due to a misconfiguration of your prefs, but it helps greatly whenever there's a temporary glitch with a mailserver, which happens surprisingly often.
- New $PREF{log_all_sent_mail} feature, including a viewer so you can browse all the mail sent by UserBase. Helpful for debugging mail-sending problems, or if you just like to keep a log of all outgoing mail.
- UserBase's internal mail-sending function now allows the To: parameter to be a list of multiple recipients, which means in any pref/feature where you specify a recipient email address, you can now include multiple recipients (of course many such prefs/features already supported this in a different way, but now it works for all emails).
- Bugfix: new $PREF{protected_directory_default_index_filename} setting, to specify the page to be displayed when someone browses to one of your protected directories itself, without specifying a page (previously we just showed the UserBase Account Center page in this case).
- Bugfix: on installations which had been updated from previous versions, some of the group menus on the Account Center page would be erroneously hidden in some cases.
- Security update (minor): in the protected-pages feature, UserBase previously used a URL variable to display a please-login message within the page, which could allow an XSS attack (which is an attack on visitors' browsers, not on the server, and which most browsers themselves block anyway).
v2.50 (20131028):
- Performance boost: decreased the number of iterations in the expand_custom_vars_in_prefs___inner sub (used for allowing prefs to be set with values of other prefs, i.e. nested) in a way that can cut a few hundred MS off our execution time without any other effect on the app.
- Performance boost: new skip_database_table_creation pref, which can speed up load time quite a bit depending on your server and database server, since technically we only need to check/create the tables the first time we run and once after each update.
- Performance boost: the Manage Users page is now significantly faster to load on sites with many user accounts.
- Security improvement: new password_reset_delay feature, to prevent certain kinds of brute-force attacks against the password-reset page.
- New group log feature, showing each time a user is added to or removed from a group.
- New promo code feature for paid groups, so you can give out discounts for your customers to use when signing up.
New settings for installations where you want your visitors to be forced to
join a group during sign-up:
- When you're offering paid accounts, we'll now skip the choose-a-paid-group page, going directly to the PayPal payment page instead, in cases where the page would have only shown a single group anyway.
- New code to check for invalid/non-standard/otherwise-screwy remote IP addresses and fix them when possible.
- New encodable_app_template_static_css and _js prefs, for use with the encodable_app_template_file feature, for improved performance when using the template (avoiding 2 calls to the script by using static files instead).
- New static_hostname setting, for servers on networks where there are long delays for hostname lookups, which would previously cause UserBase to take a long time to load, since it had to wait for the lookup. Now you can manually set your hostname and skip the lookup.
- For protected directories, UserBase can now do variable substitution (e.g. $PREF{logged_in_username}) on the protected pages within the directory.
- Protected directories can now have their access controls set on a per-user basis, not just per-group as before.
- Moved database table names out of prefs file, since they should virtually never be changed, and having them there was just confusing.
- Various small improvements to our database-viewer pages.
- Bugfix: in some error cases we displayed a vague "Message expired" error; now we'll display more about what really went wrong.
- Bugfix: added default clauses to all of our SQL table-creation commands, necessary to prevent errors under some rare MySQL configurations.
- Bugfix: we no longer set the PATH env var to a sane Linux/Unix value if we're running on a Windows server.
v2.49 (20130910):
- Security update: improved blocking of potential XSS attacks. Most web browsers now block those at the browser level anyway, but it doesn't hurt to keep ours as thorough as possible.
v2.48 (20130511):
- Bugfix: the $PREF{disposition_for_NNN} settings, used for specifying whether protected pages/files should be displayed in the browser or downloaded, were ignored in some cases.
v2.47 (20130208):
- Bugfix: the Custom Fields Manager page would sometimes display a syntax error if you had custom fields but no field sections defined.
v2.46 (20130202):
- Bugfix: the new temporary and subscription group types had their auto-expiration dates calculated incorrectly in some cases.
v2.45 (20130126):
- Improved the documentation for custom form fields: moved it from one big paragraph at the bottom of the form explaining all the form fields, to inline comments next to each form field explaining just that field's purpose.
- For mail-sending operations (email verification during sign-up, admin notifications, etc), in addition to sendmail and SMTP, we now support the Net::SMTP::TLS module, as another option for servers that are extremely finicky and/or crippled in terms of their mail-sending capabilities.
v2.44 (20130125):
- UserBase now supports subscription payments for paid accounts that are automatically re-billed on a regular basis (e.g. monthly).
- New "temporary" group type, for group memberships that automatically expire after a period of time that you specify.
- The paid-accounts feature has been improved and simplified: it is now configured via the Manage Groups page, where you can specify the cost (if any) of each group, along with the length of the term in days for temporary/subscription accounts, etc.
v2.43 (20120806):
New features:
- New %QS hash to allow you to use variables from the URL's query-string within your prefs file (e.g. "%QS{foo}" will turn into "bar" if ?foo=bar is passed on the URL).
- We now support the Digest::SHA module, in addition to Digest::SHA1, for servers where the latter isn't installed.
- Bugfix: some boolean/checkbox custom fields would display this spurious error message: "The value for %%item%% must be either null or else 'on'; '[0 or 1]' is invalid." In actuality, 0 and 1 are the correct values.
- New $PREF{server_handles_ip_addresses_incorrectly} setting, for servers that don't provide accurate/consistent identification of client IP addresses via environment variables. This is unnecessary on 99% of servers, and it only affects certain error/confirmation messages that the app generates: normally we restrict these based on logged-in status, or IP address, but with this setting enabled, we'll allow the message to be shown with no restriction, but we'll also auto-expire it quickly to minimize the (already remote) chance that the message could be viewed by someone other than the visitor who generated it.
v2.42 (20120409):
- New $PREF{extra_sql_safe_characters} setting, in case you want to allow other characters to be stored in your database than the ASCII ones that UserBase allows by default.
- We now specify accept-charset="UTF-8" on our <form>s, which should resolve some internationalization issues.
- Bugfix: if exactly 1 field section was created, then the user profile pages would display the generic "Additional Details" label above any custom fields, instead of the configured label for that particular section.
- Miscellaneous internal changes.
v2.41 (20120228):
- Renamed $PREF{image_path} to $PREF{app_images_url}.
- Separated the confirmation messages for new-user-added (by admin) and new-signup-successful.
- Miscellaneous internal changes.
v2.40 (20120203):
- New $PREF{send_payment_notification_emails} feature, so that for paid accounts, you'll get an email from UserBase, in addition to the one from PayPal.
- New $PREF{mimetype_for_foo} settings, for when you want to use the new password-protect-whole-directory feature but your server doesn't have the MIME::Types Perl module.
- For paid accounts, we now make multiple attempts to verify the payment data posted to us from PayPal, in the (rare) case that a network problem prevents the first one from going through. And we have a new log_paypal_payment_debug_info_to_encdata_dir setting for this (again, rare) situation, so you can see where the process of connecting/verifying with PayPal is failing.
- New $PREF{extra_header_output} to allow you to include a custom favicon, or to integrate with VisitorLog, etc.
- Simplified the embedding process so that the $PREF{print_full_html_tags} setting is no longer required. Now when UserBase is embedded within a different page, the full userbase.cgi URL will continue to work properly as well.
- New $PREF{debuglog} setting to make debugging easier, especially on servers without decent built-in error logs, or where the host won't let you access the error log.
v2.39 (20111220):
- Bugfix: previous update caused the built-in form fields to not display on the sign-up/edit-user form with certain custom field configurations.
v2.38 (20111025):
- For custom fields, you can now specify whether each field appears on the sign-up form on a per-field basis, as opposed to before where all custom fields would either be displayed, or all not displayed.
- New $PREF{filechucker_userdir_template} setting, for when creating FileChucker userdirs automatically during account creation, to support FileChucker's new userdir template feature.
v2.37 (20110929):
- We now include the version number in the prefs file too, to make things easier for those with multiple installations, and during updates/moves, etc.
v2.36 (20110909):
- UserBase can now password-protect a whole directory without using PHP and without editing individual files within the directory, via the new $PREF{protected_directory_NN} settings.
- New group managers feature and $PREF{group_membership_update_emailalert_enabled} setting: on the Manage Groups page, you can specify accounts to be "managers" for each group, who will then receive email notification whenever a member is added to or removed from that group.
v2.35 (20110901):
- User accounts now support profile images and profile pages, and there's an optional member directory for sites where you want your members to be viewable to the public and/or to the rest of the members.
- New $PREF{default_app_style} setting and a new dark theme, for easier integration into sites with existing dark layouts.
- Other minor changes.
v2.34 (20110313):
- Replaced all calls to Perl's "warn" function with a custom "enc_warn" version, because some Windows servers throw temper tantrums upon seeing the built-in version.
- Our various database-table-viewer pages now do their sorting (when you click the column name links) instantly on the client side, rather than with a request to the server requiring a new page load.
- Various small tweaks and bugfixes.
v2.33 (20101116):
- New event calendar feature, allowing members to create events for which UserBase will send them email notifications reminding them when the event date draws near.
- Other minor tweaks and bugfixes.
v2.32 (20101006):
- Minor tweaks.
v2.31 (20100921):
- Renamed the login landing page from Main Menu to Account Center.
- New $PREF{page_subtitle_template} setting to adjust the styling and display of page subtitles.
- New $PREF{allow_underscores_in_realnames} setting, for any crazy people who have underscores in their actual names.
- Other minor tweaks and bugfixes.
v2.30 (20100621):
- Bugfix: a previous update introduced a bug that could prevent the password field from being displayed on the non-admin user sign-up form.
v2.29 (20100604):
- New import and export features allowing bulk import/export of user accounts (including custom field values) via CSV file.
- New $PREF{log_all_userinfo_updates} feature allowing you to have an audit trail of all changes to user data (of course for passwords, the passwords themselves are never stored nor logged). You can also enable email notification for all such changes.
- Data fields on the signup/edit-user pages can now be grouped into sections.
- New $PREF{groups_allowed_to_edit_[fieldname]_field} feature, allowing you to specify which groups (member, admin, etc) can edit which fields.
- The Manage Users page now has a filter/search field, to limit the accounts that are displayed.
- You can now specify custom Javascript actions for the fields on the signup/edit-user page, for example if a certain field or section should be hidden based on the value in another field.
- New "Show All Prefs" feature, available on the Administration page, shows the values of all your prefs.
- New Server Information page, showing environment variables, Perl version, CGI version, and MIME::Lite version.
- In date strings where we were using "%P" to get am/pm, we now use "%p" instead (which is the same but uppercase, i.e. AM/PM) because some Windows servers crash/hang when confronted with "%P". No, really.
- Various updates to our built-in database table viewer/editor (including presets for min/max values, min/max string lengths, and type checking; nicer visual styles in vertical display mode; ...).
- Improved autodetection of the server's DOCROOT on certain servers with strange configurations.
- Bugfix: added internal _qsready versions of a few key prefs ($PREF{login_url} in particular) to allow proper embedding within a page that already uses the query-string for navigation. For example if your page is index.php?page=login we would previously try to use index.php?page=login?action=signup as the link to the signup page, rather than index.php?page=login&action=signup as we do now.
v2.28 (20091224):
- New $PREF{loginreturn} feature lets you specify URL variables that tell UserBase to automatically return the user to a specific page upon login and/or signup.
- New $PREF{show_custom_fields_on_signup_form} setting along with options to specify who can view and edit custom fields, in case you want to be able to have custom fields that you set the values in and your users can only view but not adjust those values.
- Updated the blacklist/whitelist feature so that in addition to all-or-nothing whole-app blocking, you can specify that users matching the lists are automatically added to special encblacklisted/encwhitelisted groups, which you can use in any of the $PREF{groups_allowed_to_*} settings.
- Updated the CSS for the drop-shadows around the login form so that they display properly on backgrounds which are non-solid colors (patterned, gradients, images, etc).
- If you have UserBase embedded within another page, the failed-login page now displays within that rather than as a standalone page.
- Automatically fix the DOCUMENT_ROOT on GoDaddy servers, which set it incorrectly for subdomains.
- Bugfix: a previous update caused us to fail to autodetect when HTTPS was in effect.
v2.27 (20091109):
- Usernames and passwords can now be made case-insensitive.
- UserBase can now send notification emails to the administrator when a user logs in.
- Bugfix: the on_member_login_redirect_to setting originally excluded admins from the redirection, but that got broken in a recent update, so both members and admins were redirected. Now admins are again excluded.
v2.26 (20090928):
- On the main menus, individual links can now be hidden.
- Miscellaneous updates to the database viewer/editor behind features such as the main menus and password logs.
- Bugfix: a recent update could cause a MySQL error on servers with older versions of MySQL, on pages that use the database viewer/editor.
v2.25 (20090810):
- New styling for the login form, with more neutral colors to better match existing site layouts.
- Various refactoring (internal changes) and slight adjustments to wording.
v2.24 (20090803):
- Bugfix: further loosened our check-server-environment test for servers which apparently just have very few environment variables set.
v2.23 (20090803):
- Removed the "use extra security" checkbox from the login form by default. It's now forced by default instead, since it's useful in the vast majority of cases, and the option was just confusing to non-technical users.
- New blacklist/whitelist feature to block users based on IP address or hostname.
- New ?format=justlink feature, for situations where you want to just display a "login" or "logout" link on a particular page apart from the main UserBase page.
- Small changes to make managing users quicker (text on confirmation pages now contains a link to the manage-user page for the user in question; or links back to the main manage-users page for quick return rather than having to go back to the main menu first).
- Various small improvements to the database-viewer/editor function that's behind features like the login log and password-change log.
- Lots of refactoring to replace old ?phase=foo-based message system with a new more flexible system based on keyed messages (?kmsg=abcdef...).
- For paid accounts, if there's an error during the PayPal IPN process (during which no user is present, so we can't display an error message), we'll attempt to send an email to the site administrator before die()ing.
- Removed the "http://example.com" from our internal redirection URLs because some servers choke on URLs containing an http:// other than at the start.
- Bugfix: paid accounts would fail to be approved on some servers depending on the type/number of environment variables the server uses (it was tripping our check-server-environment test introduced in a previous update).
- Bugfix: for prefs that require specifying a group (paid accounts for example) we now prevent you from specifying one of our internal groups (which didn't work even before, but previously failed silently or in non-obvious ways).
v2.22 (20090524):
- Simplified the installation process by including a new folder called "www.example.com" within the userbase.zip file; this folder contains the full directory structure and all files necessary for UserBase to work, so you don't need to manually create any files or folders -- just upload the contents of the folder to your server.
v2.21 (20090504):
- We now automatically create the Main Menu link to the Manage Users page for any group that you specify as a subgroup manager group.
- Added workaround for Windows MySQL bug where it claims that table "Foo" does not exist, but it also cannot create table "Foo" because "foo" already exists. Ugh.
- We now attempt to detect whether we're being executed via command line, and print a useful error in that case, to prevent getting the FAQ about why it doesn't work from the command line (answer: because it's a web app).
- We now support shared prefs files, for specifying prefs a single time to be used in multiple apps, or in multiple copies of an app.
- The pages which display database contents now handle reverse-sort differently: instead of reversing the order of whichever N items were displayed on the current page, we now reverse the whole dataset itself. So the N items displayed on say page #3 of the data will not be the same N items displayed on page #3 in reverse-mode.
- We now attempt to automatically correct Network Solutions' screwy configuration on servers that are afflicted by it.
- Bugfix: in rare cases, an apparent bug somewhere in the Perl MySQL stack causes dropped connections, which are not reconnected even if that flag has been set for the connection. So we now always do a check-and-reconnect before doing any database communication.
- Bugfix: on Windows servers, in situations where we need to create new folders which include multiple levels, if the server is using drive-letter paths instead of UNC paths, then we failed to create the new folder.
v2.20 (20090325):
- The password-reset feature now allows the user to initiate the reset process by entering his username or email address (previously it only supported the username).
v2.19 (20090318):
- Bugfix: the new web-editable Main Menu tables weren't being created on sites which upgraded from earlier versions of UserBase.
v2.18 (20090308):
- You can now add/remove/edit links in the various tables on the Main Menu page right in the browser, rather than by modifying the prefs file.
- Bugfix: on IIS servers where the docroot is a virtual UNC path, we now correctly auto-detect that, rather than requiring it to be specified manually.
v2.17 (20090202):
- Bugfix: the previous update introduced a bug which caused UserBase to fail to submit insertions/edits/deletions when editing the database tables for certain features (failed login logs for example) when UserBase was embedded within another page.
v2.16 (20090109):
- Default data directory name changed from "ubdata" to "encdata".
- In situations where we need to display some output but we're currently outside of any page we might be embedded in (which typically means when we're POSTed to), we now perform a redirect to ourselves within the embedded page before displaying the output.
- Removed the $PREF{webmaster_name} setting, which was only really used when sending emails (as the "Name" in "Name <email@example.com>"), and which was causing problems on a small number of servers which insist on email addresses that do not include any name portion. So now you can just add the name to the $PREF{webmaster_email_address} setting yourself if you want to.
- The various features that display data logged to a database (failed & successful password logs, password change logs, etc) now support a vertical display mode, and now support the editing & deleting of records.
- Groups can now optionally be displayed on the signup form on a per-group basis, so that your users can choose to be members of the groups during signup.
- Bugfix: for accounts whose users haven't logged in yet, the last-login column now shows "never" instead of January 1970 (i.e. the start of the Unix epoch).
- Bugfix: users who recently updated from older versions would sometimes receive an error about a missing column during login; that's fixed now.
- Bugfix: a small number of servers treat an "http" in the URL as an error (other than the one at the very beginning), so we now remove that in any situation where we're passing addresses on the end of the URL.
v2.15 (20081028):
- We now log failed & successful logins as well as password changes. (Of course passwords themselves are never logged under any circumstances; only password hashes are logged.)
- Passwords can now be set to expire after a period of time.
- Passwords can now be required to contain specific kinds of characters, i.e. must contain uppercase, must contain numbers, must contain special chars, etc.
- Passwords reuse can now be prevented, i.e. when a user changes his password, he must not use a password that he has used before.
- We now reject blank usernames and passwords at the start of the login process, rather than letting the validity logic catch them and report a more obscure error.
- New $PREF{add_www_to_hostname} and $PREF{remove_www_from_hostname} settings, for situations where that can't be done at the server level.
- New $PREF{force_https} setting, which causes us to do a forced redirect to ourself using https:// if we were visited without it.
- Removed the $PREF{smtp_port} setting; this should be specified on the end of the $PREF{smtp_server} value, because some Perl installations don't honor the separate port spec.
- (Prefs file updated.)
v2.14 (20080820):
- Simplified the database settings: you no longer need to use separate files to specify your SQL information.
- Overhauled the way we protect the various admin-only features: many things that were previously hard-coded as admin-only are now set as admin-only via prefs, so that you can create other groups with permission for certain functions if you wish.
- Added support for negative permissions: in addition to the standard groups_allowed_to_* settings, you can also create groups_not_allowed_to_* settings, for more fine-grained control over permissions.
- New $PREF{custom_mainmenu_page} setting allows you to create a totally custom main menu page.
- The $PREF{login_script_email_address} setting now once again defaults to email@example.com, but in a way that doesn't require setting the user-visible pref to a confusing value involving an environment variable.
- In the status output that we display when another script calls us from the command line, we now include the email address of the logged-in user.
- Emails sent by the script now include visitor information in the email headers (IP address, hostname, user agent).
- (Prefs file updated.)
v2.13 (20080719):
- Added the ability to password-protect pages without using PHP at all (i.e. for servers without PHP, or whose PHP installations are crippled by means of virtual() and exec() being disabled). See the new $PREF{protected_pages_directory} setting.
- (Prefs file updated.)
v2.12 (20080714):
- When sending script-based emails (email verification for new signups, admin notifications, etc) we now try both sendmail & SMTP if one of them fails, rather than reporting the failure of the first one and not trying the second. The vast majority of servers either use 'localhost' as an SMTP server, or have /usr/sbin/sendmail set up to send email, so by trying both, we make it extremely likely that the default configuration will work without the user having to adjust any settings. (This is a regression bugfix; it was always supposed to work this way, but changes in v2.05 broke it.)
v2.11 (20080714):
- On servers without a reasonable PHP installation (i.e. no PHP, or with PHP but the virtual() and exec() functions disabled), we can still be "embedded" into another page by displaying our output wrapped in a customized HTML template. In previous versions, this was done by creating a header HTML file and a footer HTML file; now it's simplified to a single template HTML file. The result and the output are identical, but this means that people using WYSIWYG applications to create/edit their websites can do that as they normally would, even for the page we're embedded in. See the new $PREF{encodable_app_template_file} setting.
- (Prefs file updated.)
v2.10 (20080611):
- New setting $PREF{columns_hidden_by_default_on_user_manager}, so that the "Manage Users" page is more narrow by default, so that it doesn't overflow the side of the page on narrower layouts. Of course all columns can still always be toggled on/off in realtime when viewing the page.
- (Prefs file updated.)
v2.09 (20080520):
- We now interpolate some settings progressively as the prefs file is loaded, so that for example %PREF{DOCROOT} can be used within the values of other prefs in the prefs file. This simplifies some of the default pref values and makes it easier to define/adjust some prefs which have similar values.
- Replaced the few hard-coded 0777 and 0666 values with prefs, so that on servers that support more restrictive (and more secure) values like 0755 and 0644 (or even 0700 and 0600), they can be used.
(more changelogs coming soon)
v2.05 (20080209):
- UserBase now supports paid accounts with payments through PayPal.
- The user form -- for signups, editing accounts, and creating new accounts (by admin) -- is now fully template-based and thus fully customizable.
- The default values for the webmaster & script email addresses are now single strings with a generic domain name that must be changed, instead of being formed from the server variable for the site's actual domain name, because that was confusing a lot of people.
- New setting to allow users to automatically be added to groups upon signup ($PREF{automatically_add_new_signups_to_these_groups}).
- The "logging out; click here to continue" page now uses inline Javascript to automatically redirect the user to the logout page.
- Renamed the "UserBase" footer link to "My Account".
- The settings that allow us to automatically redirect a user to another page upon login/logout/etc can now be set on a per-group basis, not just for member & admin as before.
- Added some CSS for alternative stylings for the login form, though the default style is the same as before.
- During installation, once we've created the random default admin account, we display a message at the top of every page explaining how to log in with that account, until the webmaster deletes that setup file from the server. Previously, we just displayed such a message one time (when the account was first created), so some users were then unsure what to do later on when presented with the initial login form.
- We no longer use a separate table for pending accounts. This greatly simplifies portions of the code, and resolves a few bugs related to creating and approving pending accounts, particularly when custom fields are involved.
- In our email-sending routine, when something goes wrong, we now die_nice() instead of just die()ing, so the output is nicer.
- We now use Javascript redirection in situations where server-side redirection is not possible.
- Refactoring to unify shared code with other Encodable apps.
- (Prefs file updated.)
v2.04 (20080119):
- In the status output that we display when another script calls us from the command line, we now include the userid of the logged-in user.
v2.03 (20071203):
- The user management page now shows pending accounts with links to approve or delete them. Previously, the only way to approve or delete a pending account was to click the link in the email that was sent to the webmaster.
- The user management page now shows a count of active and pending accounts.
- The $PREF{usernames_are_immutable_once_created} and $PREF{groupnames_are_immutable_once_created} settings have been removed from the prefs file, because changing usernames or groupnames after they've been created tends to have unintended consequences down the road.
- Small adjustments to the prefs-loading code, including moving it to its own function.
- Bugfix for edge-case errors in pending account approval.
- (Prefs file updated.)
v2.02 (20071106):
- The DBI database connection string is now an adjustable setting, so that users of non-MySQL databases such as PostgreSQL can change it without having to modify the actual CGI code. (Prefs file updated; new pref is $PREF{dbi_connection_string}.)
- Improved error messages in a couple of places.
- Bugfix: using the subgroup-manager feature and the username-is-email-address feature at the same time did not work, because groupnames weren't allowed to contain "@", ".", etc. Groupnames are now allowed to contain anything that usernames can contain.
v2.01 (20070925):
- When loading prefs, we now try userbase_prefs.cgi as a fallback, in case ${scriptname}_prefs.cgi does not exist, or in case the site has multiple instances of the script with different names, and wants a common set of base PREFs to apply to all of them.
v2.00 (20070923):
- The prefs filename is no longer hard-coded as userbase_prefs.cgi; instead it's ${scriptname}_prefs.cgi. This is so that if you rename your userbase.cgi to something else like login.cgi, then you can (must) also rename your prefs file to login_prefs.cgi.
- New setting $PREF{forced_logout_link}, which templatizes some HTML that was previously hard-coded. (Prefs file updated.)


text:
Over the past couple of months, basketball teams throughout Hutchinson County have hit the hardwood battling for district and conference titles, which has provided several good photo opportunities.
Look under our lifestyles menu on the website toolbar and click on the photo contest option.
Take a peek at the photos and vote on what you think were the best shots from the 2011-12 basketball season.
On Monday evening, the Borger Bulldogs and Lady Bulldogs Varsity Soccer teams opened up District 5-4A soccer play in Amarillo against Palo Duro.
In the boys game, the Bulldogs battled against a tough Dons team to a 1-1 tie. George Sifuentes had the lone Bulldog goal with Lane Newcomb getting the assist.
In the girls game, the Lady Dons defeated the Lady Bulldogs 2-1. Sammie Huckabee scored for the Lady Bulldogs with Brooke Scott getting the assist.
Some losses are easier to take than others and on Monday night, the Frank Phillips College Plainsmen had to of left the court at the BCAC with a bitter taste in the mouths after losing to the New Mexico Junior College Thunderbirds, 79-76.
After trailing by ten pints at the 18:42 mark in the second half, the Plainsmen battled hard the next 16 minutes to finally take a one point lead with 1:55 left in the game. Unfortunately, three straight foul calls and two turnovers in the final minute helped the T-Birds escape with the win and send the Plainsmen to 1-4 in WJCAC play.
On Monday evening, the Frank Phillips College Lady Plainsmen put up a good fight in the second half against conference leaders New Mexico Junior College. But the Lady T-Birds were able to pull out the 64-49 win over the Lady Plainsmen in WJCAC play at the BCAC.
The Lady T-Birds opened the game taking a 3-11 lead by the 12:54 mark of the first half. But the Lady Plainsmen crawled back into the game, led by LaChrista Nash scoring seven first half points and Laura Martinez nailing two three pointers, to get to within two points at the 7:20 mark, 18-20.
Tonight the Frank Phillips College Plainsmen and Lady Plainsmen will host the New Mexico Junior College Thunderbirds and Lady Thunderbirds in a WJCAC doubleheader at the BCAC.
The women's game will tip off at 5:45 p.m. followed by the men at 7:30 p.m.
Over the past five years, the Plainsmen vs T-Birds matchup has provided some of the most entertaining WJCAC games of the season, with the Plainsmen winning both games in conference play in 2009-10 and the T-Birds winning both games last season.
On Friday, former longtime Borger High School Boys Basketball Head Coach Duane Hunt was selected to be among the 2012 class entering the Texas High School Basketball Hall of Fame.
Hunt spent 23 seasons coaching the Bulldogs where he had a 507-206 record, which included two state runner-up finishes in the late 1970's. During his 26-year coaching career he took three teams to the state tournament and had a 548-236 overall record.
Hunt graduated from Oklahoma City University where he played for Coach Abe Lemons.
On Saturday afternoon, the Frank Phillips College Plainsmen baseball team won the final two games in their four game series with Luna Community College, 15-5 and 7-6.
In game one on Saturday, Luna appeared to be on their way to getting the win by holding a 5-0 lead through four innings. But in the bottom of the fifth inning, the Plainsmen bats came alive to bring in 14 runs, leading to the team getting the run-rule win after six innings.
Plainsmen sophomore infielder Cesar Wong had a big game, hitting two doubles and collecting six RBI's.
On Friday evening, the Perryton Rangers improved to 3-1 in District 1-3A play by defeating the Borger Bulldogs 76-49 in Perryton.
Over the years, Perryton seems to be one place in the Texas Panhandle where it feels like the home team really does benefit from having home field advantage in a contest Some can argue that was the case again Friday night, as the Rangers were able to get to the foul line 37 times compared to the Bulldogs 10 free throw attempts.
The West Texas Comanches have lost their last two games at the free throw line. The last game was lack of visits to the line vs many for the other team, and last night was close to being a rerun. The game was close from the tip off with fourteen lead changes and the score was tied four times. In the fourth quarter, the Comanches were trailing by two, when several "missed calls" by the officials and a technical foul on WT's coach for voicing his opinion about the accuracy of the calls. After the "T", the team was forced to foul to stop the clock.
(Girls) Sanford-Fritch 53 Amarillo River Road 43
On Friday evening, the Sanford-Fritch Lady Eagles took one step closer to clinching a playoff berth by beating the Amarillo River Road Lady Wildcats 53-43 in Amarillo.
The Lady Wildcats started the game tough in the first period by playing to a 13-13 tie with Sanford-Fritch.
But the Lady Eagles got some separation in the second period and forced River Road to play catch up the remainder of the game.

subset: commoncrawl


text:
BPL Community Profile
Andrew Schriner (lettheguydance) - BPL Forum Member
You cannot send this user a personal message (PM) because they have not specified a PM email address yet.
All Forum Posts by Andrew Schriner
Overall, I would recommend searching this site a little more, because there are all kinds of things in the forums already. Have you searched google at all yet? There are lots of generic things...
What kind of patterns are you looking for? I know of lots of resources and have designed some of my own patterns that I would be willing to distribute "for free" (i.e. in exchange for fe...
Nice work!
Hey great work Ted! How was the hike in? How about the glacier conditions - open crevasses or still covered? Did you do the Gooseneck route? I was there in mid June, and we made it to Double ...
Gear design
I have seen some books - Louise Lindgren's "How to..." is where I got my start with sewing gear, and I've got Ray Jardine's Trail Life with its tarp, quilt, etc (which I have ...
MYOG Pack patterns
Over the past couple years I've designed and constructed a daypack/summitpack, a backpack-style rope bag for my climbing rope, a ~6000 cu. in. load monster for remote mountaineering, and in the...
Lighter options
I like the 1/2" web idea. If you go with grosgrain, you probably want to go the route of having 5 pieces of webbing, rather than 3, since the grosgain is probably not flexible enough to wrap ...
More detail!
Glad you like them and may find the design useful! The two different sole styles seem to provide about the same grip. That is, I've never noticed a difference between them while wearing the...
Thoughts on the Cilogear 20L style
I've been eying Cilogear packs a lot recently, and a couple months ago I decided to make my own 20L pack by basically copying the 20L worksack design. I've since used it for single day cli...
oh yes - and the distance
And I forgot to mention - Gannett being about 20 miles from the trailhead, you're in deep if you take a nasty fall and have to get out that whole distance on a really bum leg.
watch out for crevasses
I'd say if you're going to do it solo, you had better be extremely aware of crevasse danger. Climbing snow and rock solo should be no big deal (assuming you have experience using your ice ...
All Reader Reviews by Andrew Schriner
Andrew Schriner has posted no reviews.


text:
Travel and Transport
- Transportation Options
- Airlines that fly to Thailand
- Thailand Airports
- Travel information
- Travel Agents in Your Country
- Travel Offers from Your Country
Liberty Holidays operates pleasure and adventure holidays tours inbound and outbound. We highly emphasis for luxury and VIP travel, honeymoon travel, family holidays, business travel, corporate travel, media tourism like filming and documentary, pilgrimage tours, incentive travel, responsible travel, women travel, senior travel, group travel, student travel, eco tours, adventure Himalaya trekking and hiking, cultural tours, city and leisure, tailored and fixed departure vacation packages.
Accommodation Specialist ,Adventure Travel ,Customized tour specialists ,General travel ,Group Travel Specialists ,Online Booking specialists
Bhagawoti Marg, Thamel


text:
A Jasper City police officer suspended just last week is seeking a hearing in regards to his future with the department.
Last Tuesday the Jasper Board of Public Works suspended 44-year-old officer David Drew, a 10-year member of the department with pay while the board goes through the process to terminate his employment with the city.
Drew has the right to request the hearing which was made on Monday.
The date of the hearing has not yet been set. However, by statute, it must be held within 30 days of the request.
Drew has been on medical leave since December. The hearing will take place before the public works board and likely will be in a private session. The board must conduct its final action on the matter during a public meeting.
Jasper Police Chief Michael Bennett recommended Drew's termination last week based on information obtained through an internal police department investigation as well as information obtained by the Indiana State Police, which has conducted an investigation into allegations regarding Drew's conduct.
Drew has been an officer with the department since 2003. In that time, he has had at least four other disciplinary actions taken against him.


text:
Self-review and/or appraisal by a direct supervisor can often be enhanced by adding the perceptions and opinions of others inside and external to the organisation. We create feedback processes and act as an external consultant to facilitate such reviews.
- High Performance develops 360 Degree feedback approaches for our clients and provides an independent external source to collect and analyse the responses.
- This performance appraisal data is collected from all around an employee, including his or her peers, subordinates, supervisors and even internal/external customers.
- This approach is most often used when assessing leadership and management skills and behaviours (CEO and General Manager reviews are often 360 degree).
- The main objective usually is to assess learning and development needs and to provide competence-related information for succession planning, not promotion or pay increases.
- We have found that it is critical that the results of such a 360-degree feedback survey are properly discussed or de-briefed in a positive and constructive manner so that both the individual and organisation benefit.
An example of a Leadership Competencies Review
- We often present the 360 degree feedback to the participant in a one-on-one confidential meeting or where line managers or HR staffs needs to be involved, High Performance helps them prepare for effective discussions with the participants.
- Feedback conversations start with the provision of a clear framework, or context, for the discussion. Few people welcome feedback unconditionally. It is therefore helpful to ask people how they feel about the feedback process. This helps to determine how open we can be in the conversation.
- A good feedback discussion will find patterns of perception and behaviour within the report. Our role as a "debriefer" is to stimulate the participant's thought processes in identifying patterns, and try to make sense out of patterns.
- Throughout this process, we encourage the participant to make notes, particularly noting key strengths and areas that might benefit from development.
- The 360 data takes time, usually a few days, for the participant to fully absorb. For this reason, we generally do not advise development of a complete, personal development plan right away. However, we often begin the process of development in this discussion. The details of a full plan can come later.
Would you like to discuss how High Performance can support a cost effective manner of assessing performance and behaviour?
Further Reading
Goal Setting; The Basis For Performance Appraisal
360 Degree Leadership Assessment
Performance Appraisals Don't Work
Performance Appraisals Don't Work (2)


text:
October 4, 2015
PHOENIX (AP) - Mexico and 10 other Latin American countries want a federal appeals court to consider their viewpoints in Arizona Gov. Jan Brewer's appeal of a ruling that put parts of her state's new immigration law on hold.
The countries are asking the 9th U.S. Circuit Court of Appeals for permission to file so-called friend-of-the-court briefs in Brewer's appeal of the ruling, which arose from a lawsuit by the U.S. Justice Department.
The 11 countries say they have an interest in ensuring they have reliable relations with the United States that aren't frustrated by Arizona.
Mexico is joined in the request by Argentina, Boliva, Brazil, Chile, Costa Rica, Ecuador, El Salvador, Nicaragua, Paraguay and Peru.
Supporters of the law say it's intended to confront the state's vast illegal immigration woes that Washington is confronting adequately.
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
The gently flared hem of Theory's cotton-jersey dress gives this striped style a supremely flattering shape. Complement the classic ivory and midnight-blue colorway with tan sandals and gold accessories.
Ivory and midnight-blue striped cotton-jerseyLightly flared hem, black silk trims Concealed hook and zip fastening along back100% cotton; trims: 100% silkDry clean
Product code: 349202 - Need help? Contact us


text:
Horse owner devastated by slashing attack in Liverton stable
Posted: September 14, 2012|
A horse owner was devastated to come back from holiday and discover that his beloved prize animal had been attacked with a knife.
Richard Williams, 41, wants to alert others that an attacker is on the loose around South Devon, after his show horse Harvey was slashed three times with a sharp object, thought to be a knife.
It happened on Saturday night, when the grey Hanoverian was in stables at Liverton, near Newton Abbot.
"What happened was absolutely horrendous," said Mr Williams, a hair salon owner and freelance riding trainer.
"I have brought him up since he was a minute old, and he's like my child. He's my pride and joy. He's an amazing horse who's won everything he's ever been entered into.
"I'm desperately upset."
He said the three slashes drew lots of blood, but did not require stitches. The wounds were cleaned and dressed, and the horse is receiving ongoing attention from a vet.
"Harvey was very distressed on Sunday morning, but he's such a good-natured animal that he soon gained confidence in the people who were looking after him while I was away," said Mr Williams, who believes Harvey's show days may be over because of the scarring.
Police are investigating the attack and anyone with information is asked to call 101, quoting reference JA 12 742.


text: More from SI Report: Dodgers release pitcher Freddy Garcia Report: Dodgers release pitcher Freddy Garcia Marshawn Lynch sports gold cleats for Super Bowl Marshawn Lynch sports gold cleats for Super Bowl Louisville vs. FIU: Game time, live stream, TV coverage Louisville vs. FIU: Game time, live stream, TV coverage Pittsburgh-area high school football player dies after... Pittsburgh-area high school football player dies after... Close Tweet0 Share0 Comment0 Share0 Share0 Stumble It0 Print0 More SI Wire Report: Embattled Cowboys DT Josh Brent jailed again by Tim Polzer Email Posted: Thu Jun. 27, 2013 Josh Brent has been jailed again after failing marijuana tests while awaiting trial. (Ronald Martinez/Getty Images)The New England Patriots' release of tight end Aaron Hernandez following his arrest for murder Wednesday, prompted commentary and criticism of how the Dallas Cowboys have treated a player facing serious legal troubles. Those comparisons took on a twist Thursday when defensive tackle Josh Brent was jailed again.Randy MacIlwain of NBC5 tweeted that a judge had Brent jailed after the 25-year-old tested positive for marijuana twice in two months. The Dallas Morning News confirmed the report.Brent was out on bond after being charged with intoxication manslaughter in a Dec. 8 car crash that killed friend and Cowboys practice player Jerry Brown. Police reported Brent was driving with a blood-alcohol content more than twice the legal limit in Texas. Months later, a judge had ordered more monitoring for Brent until his trial begins in the fall.The Cowboys initially treated Brent with kid gloves after the accident. It has been rumored that Brown's mother asked the team not to release Brent because she feared it would be the last straw in his troubled life. The accident was not the first time he had been charged with a DUI-related offense, having also been jailed in 2009.While Cowboys players and coaches voiced their support of Brent during his legal process, there have been some bumps along the way. In December, Brent's appearance on the sideline during a Cowboys game caused some controversy. The team stated it was unaware he would be attending the game, and reportedly banned him from the sidelines. Next came the aforementioned positive tests for marijuana.Brent was still a Cowboy when he was jailed Thursday.https://twitter.com/RandyMacNBC5/status/350326262998380545 https://twitter.com/RandyMacNBC5/status/350328102817234944 Promoted Stories Comments


text:
DL1′s consultants are selected partly for their expertise in using the tools and technology here, but more for their leadership skills and their commitment to explore something of emerging interest to the community. Through their work and their work habits, they model—and modify—the "DL1 culture" each semester.
Don't forget to check out the DL1 Alumni page!
Simon Alexander-Adams
Specialties: Video, Graphics, Audio, 3D, Coding
I am a senior and beginning masters student in the PAT program. My interests include music, visual art, multimedia, interactive art and their many intersections. I enjoy how diverse ways of making art inform one another. Feel free to approach me about both technical questions, and those relating to design, aesthetic and conceptual concerns. I love electronic music and jazz, performing with my band Pushbutton, quirky animation, thought-provoking movies, indie games, playing squash and mountain biking!
Raj Brueggemann
Specialties: Video, Branding, Animation, Graphics, Project Management
I'm a fourth-year undergraduate studying animation and entrepreneurship, in the Art & Business schools. I love working in groups, experimenting with new forms of movement, and writing short stories. I am experienced in motion graphics, 3D, visualization, video and all things design. I also help groups find their core vision and reach people effectively through branding.
My analytical/visual background can hopefully be a help, just ask! I'm excited to collaborate on any projects you may need help with. I also like to go hiking, discover new bands and cook comfort food, so if any of those topics fit your question, don't hesitate to say hi.
Alexandra Chen
Specialties: 3D, Graphics
I am a graduate student in architecture at Taubman College of Architecture and Urban Planning. I served for three years with the Peace Corps in Zambia working on community health education and appropriate technology design. I'm interested in 3-D modeling and rendering and am always looking to learn more.
Danbi Kim
Specialties: Robotics, Coding, Electronics
I am a sophomore studying Electrical Engineering. I enjoy playing with electronics, especially LEDs. I first started getting into electronics and robotics when I made my robot and parts of a Rube Goldberg machine in my technology class during freshman year of high school. I originally discovered Design Lab 1 through my UROP project that got me using Processing, Arduino and Microsoft's Kinect. I am originally from Seoul, South Korea, but moved to Virginia when I was almost 11. I am involved with the MEZ Mentor program, which all engineers should consider joining! I enjoy learning new languages, volunteering and eating.
Vikas Kumar
Specialties: Audio, Web, Coding
I am a junior studying computer science engineering. My interests are music, beatboxing, chess, computer security, and music software development. Recently, I have been making a lot of electronic music (which you can listen to at www.soundcloud.com/vikasy). If you have any questions about programming or music production, don't hesitate to ask me!
Isaac Levine
Specialties: Audio, Electronics, Soldering, Coding, Self-Help, Realization
I'm Isaac—I'm on a hedonism roller coaster which I mitigate the effects of by attending school (I'm in the Performing Arts Technology program) and building art objects for personal enjoyment and fulfillment. In terms of what I can help YOU with, I can be a skeptic fan of your project, a strange idea confidante, a technical helper, or a tough love overseer. I really like throwing out absurd, impossible, or logically progressive ideas about your project in order to help you move forward so however I can be of assistance OR motivation, let me know.
In terms of my personal work, I produce strange noises (isaaclevine.bandcamp.com) and circuit bend, and build other interactive objects. I also make some killer granola and kombucha. Don't hesitate to talk.
Devin Miller
Specialties: Robotics, Electronics, Coding, Fabrication, Video
I am a masters student in my final semester of the Robotics and Autonomous Vehicles program with a focus on machine learning and AI. I was born in Indiana, moved to Germany, traveled Europe and Asia, and ended up in Michigan for high school. I am a fan/participant in esports and extreme sports and like to spend my spare time honing my skills and building things.
Before I started my program here I interned at NASA and built arcade sticks in my spare time, and I've also done a fair bit of coding and mathematical analysis in the past. I'm happy to help with any questions involving robotics, statistical methods, electronics, coding, physical construction, or video editing!
Takumi Ogata
Specialties: Audio, Live Visuals, Electronics, Coding
I'm a Performing Arts Technology D (sound engineering) student who is also minoring in Electrical Engineering. My current interest is creating a musical interface/instrument that allows performers to express themselves freely. My other interest is composing "musical" pieces in which I utilize noise as the main sound.
If you would like help with DAW, Max/MSP/Jitter, electronics/Arduino, or some coding, please feel free to ask! Finally, I'm always looking for people to work on a project with, so please feel free to talk to me if you would like somebody to do live visuals, sound, and/or electronics.
Gaurav Sardana
Specialties: Design, Interfaces, Urbanism, 3D, Graphics
An architect by profession, a pragmatic socialist at heart! With a view of using design as a tool to enhance living conditions, I believe it is essential in today's world to consider the 'hybrid' use of design to cater to multiple uses and users over time—designs should adapt to changing needs and be evolutionary over time. These principles pervade how I approach design problems—from restaurant spaces which can adapt to changing user groups, to foldable exhibition sets which can be reused, from using slum roofs to grow vegetables, to looking at adaptive reuse of vibrant pilgrim towns and cities.
Elly Schmitt
Specialties: Video, Graphics, Web, Audio
I am an alumna of the University of Michigan School of Art & Design, and I have worked in various learning spaces in the Digital Media Commons since 2009. After briefly working as a consultant for the GroundWorks media conversion lab, I spent roughly three years as an audio technician for the DMC studios. I transitioned into videotaping lectures and developing websites for the DMC in 2012. Outside of the DMC, I regularly build websites, edit videos, and record music for others. I also like to spend my free time writing and recording my own music, and I have been designing and developing websites since I was in junior high school.
Jackie Scott
Specialties: Soldering, Circuits, Coding, Product Design
Hiya! I'm a recent graduate, with a Master's in Physiology and a Bachelor's in Biomedical Engineering. My focus in the design world is humanity—how we can become healthier, happier, and more connected. I love learning about how people interact with their physical world and how design can improve those experiences. I'm a co-founder of a medical device start-up, so my skills in product design are broad and rooted in real-world applications. My hobbies include obsessively searching for new music, reading about social justice, and exploring gaming as an art form.
Seungeun Yeon
Specialties: Robotics, Mechanics, Coding, Mathematics
I'm a senior studying mechanical engineering at Seoul National University of science and technology in South Korea. I'm interested in robotics (especially rehabilitation robots), biomechanics, ergonomics, playing musical instruments, and making interesting things. I came to Michigan for my research during this summer and fall semester. My project is making a motion analysis program, using Python, for robotics and biomechanics. If you have any questions about robotics, mathematics, coding, mechanics, soldering, or 3D/2D modeling, I'm willing to help you!


text:
The Charter Township of Clinton, Office of Emergency Management was created in March of 1991 by action of the township board for the purpose of writing, completing, updating, and managing a disaster response plan for the township. The plan was to be an all hazards plan that would guide the various departments within the township in their response to natural or manmade events. The plan was to be written and presented to the township board within ten (10) months. During this time a vehicle was to be set up for future exercising of the plan, improvements in response capabilities of various departments, and to seek federal funding of the program.
The plan was written within the time specified, presented to the board, and adopted. The plan has been re-written or updated twice since that time as valuable experience was gained through exercising and actual events. The plan was reviewed again during 1998 with completion by September of 1999.
The purpose of the Emergency Operations Plan is to better prepare our departments to respond to these major events. This is accomplished through preparedness, response, recovery, and mitigation of known and unknown hazards that will face our community.
We certainly invite both businesses and residents alike to join us in our efforts to prepare our community for a speedy recovery from these potentially catastrophic events. Please call the Office of Emergency Management at (586) 723-8069 for informative booklets on how to make your world a little safer.
-Paul S. Brouwer, Coordinator
Phone: (586) 723-8069FAX: (586) 286-9343


text:
Have you ever been to Scarborough? It's a nice town in North Yorkshire with a stunning beach and to mention a cycling-related fact, last year half of the visitors and teams of the Dalby Forest World Cup race spent a couple of nights there. But there is more! You might not have been aware of the fact above, but what's also interesting is that users of the Cycle to Work scheme saved more CO2 every year by cycle to work scheme than the total emissions of 24,000 homes, which means around 57 000 individuals (given that the average family size is 2.4, according to the official statistics) – and that's how much people lives in Scarborough. So in other words, the cycle to work scheme saves a Scarborough-worth of CO2 emission every year. While the previous example might be a bit arbitrary, the commuters still save 133,442 tonnes of CO2 annually. Fact. And according to new research published by the Cycle to Work Alliance, the survey also found that 87% of those who cycle to work have noticed a direct health benefit from their more active commute – so it's a win-win for everybody.
But that's not everything! The independent Tax Simplification Office has also recommended the government to continue the Cycle To Work scheme. As Evans Cycles' Mark Brown, the manager of the Ride2Work scheme said: "This is a very positive statement which underlines the continuing importance of the cycle to work scheme in delivering improved health, lower carbon emissions and reducing congestion. The scheme really does represent great long term value far beyond the immediate and very attractive savings."
So if you either want to save the planet or you just want a great bike to make your daily commute more fun/convenient/faster, why don't you check out our new Ride2Work page where you get an overview of the scheme and you can even make calculations how much that Specialized, that you' ve been eyeing in the last couple of months, would cost you …
Add a comment
Tags: commuting
Tag: News
Leave a Reply
Got a question about an order? Click here for customer services


text:
Rockfax DescriptionPleasant climbing up the crack. © ROCKFAX
pete johnson - Mar/15 with Lun
fun climbing up the crackNiall_li - Lead O/S - 15/Apr/14 with Rick Gordon
Hidden - 2nd - 23/Oct/13
Excellent stuff. We weren't sure where it was supposed to finish - straight up the finish of the crack had no more bolts, so took the exposed traverse left which is probably correct. C left a long qd in the last bolt so I could clip before the traverse - which was nice :-)Simon Caldwell - Lead O/S - 12/Apr/13 with Carmen
Hidden - Lead O/S - 12/Apr/13
Nice climbDDDD - Lead O/S - 22/Mar/13 with Sham
great climb, felt like a trad VSSiderunner - Lead O/S - 13/Apr/12 with Kirsten
This felt like a hard 5+ requiring a lot of confidence between reasonably spaced bolts and some airy moves. Just didn't have enough left after the crack to pull myself over the top. Wished I'd pushed on for a few more seconds. cactuscratch - Lead dog - 14/Oct/11
erica - TR - 18/Mar/11 with John
John Brayshaw - Lead O/S - 18/Mar/11 with Erica
T Break - 2nd O/S - May/10 with Rab
Hidden - 2nd O/S - 03/Apr/10
Hidden - Lead O/S - Apr/10
tommoulds - Lead O/S - 13/Jul/09 with Matt Chorlton
djbeaumont - Lead O/S - 30/May/08 with Trace
JimGoodman - Lead O/S - Oct/07 with Angela
Hidden - Lead O/S - 09/Sep/06
cem - Lead O/S - 05/Oct/05
Sankey - 20/Apr/03 with Luke
thebigfriendlymoose - Lead O/S - 20/Apr/03 with Stephen
Hidden - Lead O/S - 06/Oct/02
steve prior - Lead O/S - May/01 with Ann T
Hidden - Lead - 10/Apr/01
Mark Riley - Lead O/S - 08/Mar/00
gjd - May/99 with Joe
Hidden - Lead O/S - 03/Apr/99


text:
API call not returning correct results
I can't seem to query a correct count of my overdue items through the API. "today" works and so do my labels. I used the same query for each:
/API/query?as_count=1&queries=["overdue"]&token=(api key)
Is this correct? Also, how would I query the new inbox?
All responses
Hello John,
I have passed your question to our developers and as soon as they reply, I'll let you know.
As for the new Inbox, please note that technically it is almost like a regular projects with certain limitations, but has its own ID.
Best regards,
Thanks. As for the Inbox, I figured it might have been, but when I get Projects using the api, the inbox it shows has zero cached which is not right.
Regarding the request you're sending - it is correct and it should return the number of overdue tasks. However, please note that overdue tasks are tasks that due yesterday or earlier regardless of their due time so if you have a task due today at 2pm then it will not be overdue today when it's 6pm, only tomorrow.
Best regards,
Thanks David, I got it to work. The issue was that it does not update instantly through the api. So any tasks I created as overdue, would show up the next day.


text:
The Last Post, in Southend-on-Sea, has been named 'most improved pub of the year 2011', by members of the South East Essex CAMRA branch.
Its manager Simon Bassford (second right) is pictured receiving the award, a framed certificate (now displayed in the pub), from CAMRA branch chairman Mark Bullock (second left), with the pub's ale champion Matt Lawlor (right) and fellow shift manager Conor Herlihy (left).
The pub has a selection of seven real ales, available at all times, including five guest ales, two of which are brewed in the region, as well as three guest ciders. Ales from Brentwood Brewing Company, in Essex, and Nethergate Brewery, in Suffolk, are among those regularly available.


text:
Wednesday, 27 October 2010
No7 Poolside Blue
7 comments:
This is SO pretty :) I would never even think of buying a no7 polish but I will deffo check them about after seeing this! xoReplyDelete
You have the best selection of Blue polishes. This is such an awesome shade.ReplyDelete
That's such an intense blue! I love it.ReplyDelete
Unique and gorgeous color, looks great on you!ReplyDelete
Thanks Marina - They're quite expensive so I only ever buy them with the £5 off voucher but I love the colours!ReplyDelete
Thanks Cristina - Blue is my favourite nail polish colour :D
Thanks Danielle!
Thank you, Arie!
I was going to buy this today as I had my Boots No7 voucher but remembered I have an Asos Ciate polish which is very similar. Lovely colour though! )ReplyDelete
i have the exact same problem with the lid! i thought i was doing something wrong but everytime i open it the top is all crusty, yuck xReplyDelete


text:
New, less invasive treatment using a flexible bracelet of magnetic beads may bring relief with fewer side effects than traditional surgery
MGH First & Only Hospital in New England to Offer LINX Procedure for Patients with Gastroesophageal Reflux Disease (GERD)
BOSTON – MGH is now the first and only hospital in New England to offer a new, FDA-approved procedure for people with gastroesophageal reflux disease (GERD). It's called the LINX Reflux Management System. In this procedure, a flexible bracelet of magnetic titanium beads is implanted around the esophagus laparoscopically. When in place, it supports a weak lower esophageal sphincter -- the muscle that opens and closes to allow food to enter and stay in the stomach. GERD is caused when the lower esophageal sphincter relaxes too often and for too long, and acid from the stomach leaks back into the esophagus.
"The LINX procedure is simpler than some other traditional anti-reflux operations, and may avoid some of the side effects such as bloating or inability to vomit," says David Rattner, MD, chief of General and Gastrointestinal Surgery at the Mass General Digestive Healthcare Center. "It is also reversible, and patients are able to eat a normal diet immediately afterwards."
Not all patients are candidates for this procedure. "Ideal candidates are patients who have had an incomplete response to proton pump inhibitors in treating GERD, as well as those who respond well to medications but do not want to continue taking medications indefinitely," explains Rattner. "Patients that have difficulty swallowing, a hiatal hernia larger than 3 cm, a BMI greater than 35, severe esophagitis, or who have had prior anti-reflux surgery are not candidates for the procedure."
About the Massachusetts General Hospital
Founded in 1811, the MGH is the third oldest general hospital in the United States and the oldest and largest in New England. The 900-bed medical center offers sophisticated diagnostic and therapeutic care in virtually every specialty and subspecialty of medicine and surgery. Each year the MGH admits more than 46,000 inpatients and handles nearly 1.5 million outpatient visits at its main campus and health centers. Its Emergency Department records nearly 80,000 visits annually. The surgical staff performs more than 35,000 operations and the MGH Vincent Obstetrics Service delivers more than 3,500 babies each year. The MGH conducts the largest hospital-based research program in the country, with an annual research budget of more than $500 million. It is the oldest and largest teaching hospital of Harvard Medical School, where nearly all MGH staff physicians serve on the faculty. In July 2012, MGH moved into the number one spot on the 2012-13 U.S. News & World Report list of "America's Best Hospitals."
Media Contacts: Kristen Stanton, 617-643-3907, email@example.com
U.S. News & World Report ranks Mass General the #1 hospital in America based on our quality of care, patient safety and reputation in 16 different specialties. Learn more about why we're #1
Search the archive for previously published news articles, press releases and publications.
Departments and Centers at Mass General have a reputation for excellence in patient care. View a list of all departments.