About this website

Development of the site began in mid-2003, built initially developed in ASP.NET 1.1 (C#).
Over time I've added many different features and upgraded through .NET 2.0, 3.5, 4.0, 4.5.

Updates are ongoing, both to this site, drakehoffmann.com and others

Here's the build notes / more information about the history:
Revision 1

01-14-2004 07:36:33

Revision 1 of site has been posted tonight.

Posted on January/08/2005 05:20:45 by ehoffmann
Categories: Build Notes

01-17-2004 01:05:20

  • Build2 of web site has been posted
  •  true 'release' build,
  • change in persistence layer (cannot rely on stack trace method reflection)
  •  Minor display fixes for Mozilla/Firebird/Netscape
  •  What's new pictures now displays in a scroll box if many images uploaded
  • Batch import function for Admin usage.

Posted on January/08/2005 05:21:52 by ehoffmann
Categories: Build Notes

01-19-2004 12:42:22
Build4 has been posted. Some minor bug fixes & navigation enhancements, as well as some changes in admin screens.

Posted on January/08/2005 05:22:17 by ehoffmann
Categories: Build Notes
Build 5

01-22-2004 06:58:48
Build 5 posted - reduces size of front page of size by half.

Posted on January/08/2005 05:22:33 by ehoffmann
Categories: Build Notes
Build 6

01-22-2004 07:51:49
Build 6 posted.

  • Further reduction in some page sizes.
  • Faster image serving (bypass ASP.NET worker process).
  • Better formatting on comment viewer on netscape based browsers, etc.

Posted on January/08/2005 05:22:58 by ehoffmann
Categories: Build Notes
Build 7

01-24-2004 10:27:01
Build 7 has been posted

  • admin function for cleaning up large images
  • admin notifications on new message postings
  • bit more tighening of formatting on comment board 
  • bug fix - image size now recorded correctly

Posted on January/08/2005 05:23:33 by ehoffmann
Categories: Build Notes
Build 8

01-26-2004 05:27:51
Build 8 went up last night.

  • I was having some interesting issues with FormsAuthentication, especially in netscape based browsers. I suspect that there may be some sort of configuration issue at the hosting facility, but I do not have the capability of checking that from home. For the momement, dropped the FormsAuthentication 'cookie' based strategy with a session state based strategy. Please note that visitors still must allow 'session' cookies.

Posted on January/08/2005 05:24:12 by ehoffmann
Categories: Build Notes
Build 9

02-10-2004 05:18:53
Build 9 was just posted. - minor bug fixes - new feature: 'Rate pictures' - new feature: 'Calendar'

Posted on January/08/2005 05:24:29 by ehoffmann
Categories: Build Notes
Build 10

02-23-2004 08:46:37
Build 10 has been posted.

  • minor enhancements to image upload
  • additional information about images

Posted on January/08/2005 05:24:51 by ehoffmann
Categories: Build Notes
Build 11

03-27-2004 09:59:58
Build 11:

 *****New Features***** -

  • 'View New' images option - shows thumbnails of all new images
  • A 'Search' page has been added for images. This lets you search for images uploaded on certain dates, by certain people, sorting by rating, etc.
  • *NEW* section of the web site to handle uploading/downloading/viewing of non-picure files! This means you can upload and share word documents, excel spreadsheets, video files, and others!
  • *New Feature* Send an email a user! This lets you send email to each other without having to worry about 'spam bots' reading your email address off this site.
  • Tracking of 'sent' emails. This lets me track down abuse of the new 'Send Email' feature.
  • *New* Admin screens for Attribute/AttributeType maintenance.


  •  Images load faster now (Images are smaller in byte size, database access quicker)
  • When uploading an image, you can now assign 'categories', such as 'vacation', 'nature', baby', etc.
  • Enhanced navigation when viewing images/image albums
  • Updated menus & re-organized to make them a bit more logical
  • Books section is more dynamic (add/delete/edit) for logged in users.
  • No longer displaying user's email addresses (spam prevention). If you enter your email address while commenting on a picture or posting to a message board, your email address will NOT be shown on the web page.
  • The Calendar page updated with a new look and feel. - Minor bugfixes (not listed here)

Posted on January/08/2005 05:26:27 by ehoffmann
Categories: Build Notes
Build 12

04-03-2004 11:15:33
There's been more updates to the web site!

  • Added 'Events this Month' to the front page.
  • Data driven 'Meta tags' for the web pages
  • New Administrator page for editing the 'Meta tags' for the site
  • Using HTMLArea 3.0 RC 1, allowing better text/html editing for comments. This is a RC build, and may still have a few bugs in it.
  • You can now subscribe to a mailing list! This will let you know of upcoming events, news, and new pictures. ( Your email address will NOT be shared with anyone! ) The mailing list will be published on a 'when I feel like it' basis at first. If you have family news you want published, let me know! Encourage everyone to sign up!
  • Admin Email Template editing screen. (uses HTMLArea 3.0, RC1)
  • Send Email screen gets an admin mode: send to mailing list, send to all users.
  • Send Email screen updated with HTMLAread 3.0, RC1
  • Viewing Resumes as RTF (so recruiters can save in their favorite format (word))

Posted on January/08/2005 05:27:21 by ehoffmann
Categories: Build Notes
Build 13

05-15-2004 09:36:03
Build 13 of the web site has been posted.  This build includes new featuers and bug fixes.

  • New admin screen to manage the mailing lists
  • Fixed misspelling of Album
  • Fixed image search screen so it can operate on more results.
  • Can now collapse an image album down to one page, or uniformly distribute all images in an album across N pages.
  • Image slideshow! View new images, albums, and all images for a user in a slideshow!
  • (dev) Added CreateEditBasePage for dual create/edit pages. Refactored existing pages
  • Refactoring for displaying images, reducing code for displaying images direct/through asp.net
  • New section for sharing favorite links! For all users.
  • New image albums now appear first in the list of albums, rather than last.
  • Ensured that all images have alternate text displayed.
  • New feature to send an image via email to your friends and family!
  • Bug - deleting an image that was the featured image of an album blew up nicely
  • New feature - 'Share picture email' - Allow you to easily mail a link & a message to your friends!

Posted on January/08/2005 05:28:11 by ehoffmann
Categories: Build Notes
Build 14

08-16-2004 03:14:58
Build 14

  • Menus for page are now data driven. This allows me to change the menus more easily.
  • Fixed broken image display on search screen (oops)
  • Border added around HTML edit control to make it more obvious.
  • Comment View control, change to not compact body as much
  • Bug Fix: Admin Batch Import was not cleaning up subdirectories.
  • *New* Edit screen for title/description of an uploaded file.
  • *New*Admin screen for managing/deleting email audit entries
  • Feature update, resume wizard, now allows moving work experience sections up/down within the resume.
  • *New* Web service feed for Microsoft Knowledge base articles - Keeping the geek informed.
  • The upload screen defaults to 10 images to upload, allows more than 10 as a max.
  • The Album list on upload page now sorts by album name, rather than album sort order (that was confusing)
  • Attempt to make the slideshow more robust.
  • Updated album/image display pages to allow right click, open in new window functionality.
  • Updated new pictures/all users's pictures page to NOT have an annoying 'flutter'
  • Updated the main page to display the 10 most recent news postings, up from 3.
  • Album list page now tells you how many pictures in the album
  • Album list page now tells you if an album has new pictures
  • Album list page now has a direct link to the slideshow for each album
  • Updated maximum upload size for files to upload
  • Default page now shows a thumbnail of the new pictures
  • Header control shows a phrase/definition on each page. (cached)
  • A basic, rather generic terms and conditions page added
  • There is now a quota on the number of image uploads per user (sorry - disk space is NOT free)
  • Update to 'Batch import' - new user defaults to logged in user, shows existing album names
  • 'View Files' now shows file size in kilobytes
  • Login fields now available on the side menu bar.
  • *New* user level feature to allow accounts to be requested online
  • *New* admin level features to manage account requests
  • User record in DB now has active flag, comment field
  • Admin - User list shows number of uploaded images per user.
  • Logging implementation fleshed in (db logging)
  • *New* Admin log review page
  • Fixed bug: Hitting 'enter' on dictionary page now initiates a search
  • *New* private home page for Users!
  • *New* Private Messages for users (Send messages to other users)
  • Structure 'UserLoginHistory' added to site to help track usage
  • Minor bug fixes (too many to list)
  • Users can now only edit/delete files they uploaded

Posted on January/08/2005 05:30:02 by ehoffmann
Categories: Build Notes
Build 15

01-08-2005 05:14:49
Build 15

  • New pictures background on home page now has a black background.
  • Implemented IDisposable on SqlContext... (auto rollback transaction if not committed..)
  • Client side script to disallow uploading images on File upload page
  • Added a feature to the image album that allows you to specify whether new or old pictures appear first in the album
  • New feature to view pictures uploaded by date
  • Implemented URL redirection/rewriting HttpModule.  Used for handling urls for www.ppillc.net, www.ProfessionalPropertyInvestments.com
  • Web.Config now uses PrefixedAppSettingsReader, allows me to keep config files in the same place.
  • Additional of several new components (back end, not visible to users) (Crypto, misc utility)
  • Removal of spurious informational log entry.
  • BatchImport - Changed defaults on screen, changed to delete 'thumbs.db' as well when cleaning up directories.
  • If you removed the album's cover image from the album, no longer keeps that image as the cover image (defaults to first in album)
  • Minor changes to the site's look (different font/sizes, some minor page layout changes)
  • Edit File page now uses rich text editor
  • Minor reformatting on the View Files page
  • Security Fix: KB887459 (http://support.microsoft.com/?kbid=887459)
  • Side bar menu now supports expand/contract hotspot
  • Sent emails now use the 'from' address typed in, instead of system@ekhweb.com
  • Added a link to edit album/return to albums on album page
  • Added a comment board to the 'about site' page, so I can add all build notes there.
  • Basic Content Management implemented - per user dynamic pages- Add your own content to this site (if you are a member)

Posted on January/08/2005 05:31:25 by ehoffmann
Categories: Build Notes
Build 16 Posted

Build 16 contains some minor updates to the side bar building and content for www.ppillc.net and www.professionalpropertyinvestments.com

Posted on February/14/2005 08:33:44 by ehoffmann
Categories: Build Notes
Build 17

Build 17 5/14/05

  • Admin Screen - Automated export of menu data SQL so I don't have to think as hard.
  • Added edit album link on every album page (if logged in)
  • *New* Structure: ObjectRoleAccess
  • *New* - Can now restrict access to your Dynamic Pages to Logged in Users/other roles
  • Spaces and other special characters are now allowed as part of a Dynamic Page Name
  • *New* option for DynamicPages, OnePartConfigurablePage
  • *New* DynamicPagePart: SimpleCommentControl
  • Initial generic mechanism for editing of settings for DynamicPageParts in place.
  • Modification to Admin screens for editing role/function associations
  • Expanded framework join support from inner only to inner, left outer, right outer, full outer.
  • Extended Comment board to allow replies per comment.
  • Cleanup/Reorganization of 'Return URL' handling in BasePage
  • Common injection of js for HTMLArea, overlib in the base page
  • *New* Extended calendar functionalty - recurring events, similar to outlook recurrence.
  • *New* calendar 'Month' view
  • Usage of 'overlib' for popup info tooltips in some areas.
  • Now retains camera meta data in uploaded images
  • Added concept of Groups & GroupMembership
  • *New* DynamicPage type - a page with left, right, center columns; unlimited page parts.
  • *New* DynamicPagePart - CalendarEvents - Allows access to a private calendar on your dynamic age
  • *New* Settings editor for Dynamic Page parts - allows setting part name, security & custom settings (per part)
  • Fixed site SMTP setting - hosting providers changed it & I did not notice.
  • Updated admin user management screen to assign/remove group membership
  • Image search layout changed slightly, results no longer limited to 300px height.
  • Fixed a config file snafu on PPILLC.net
  • Updated framework to automatically set the UpdateDate property, if present in the class type
  • *New* Add/Edit Group page for Admin
  • Dynamic Pages enabled for Groups
  • Picture pages enabled for Groups
  • *New* Recent Pictures Dynamic Page Part - show yours/group's recent pictures on your Dynamic Page.
  • Removed confusing second set of login text boxes on login/logout screens.
  • Added overrides for recurring calendar events, so you can change the name/description/time/duration of an instance of a recurring event.
  • Added ability to password protect a dynamic page.
  • Reworked the Admin Menu Editor to be simpler, less buggy

Posted on May/14/2005 10:41:46 by ehoffmann
Categories: Build Notes

Build 18 went up last night, changes include:

  • Hiding of sidebar menu in an attempt to make the pages less cluttered
  • Changed formatting slightly on image album page for mozilla
  • Fixed Bug: Looking at calendar month view, goto new month, edit a date, save, you're back at the current month, not the month you were viewing
  • Fixed bug: Viewing a future month, click 'add date', screen was not defaulting to the currently visible month
  • Fixed bug: rich text editor (htmlarea) undo/redo functions were not working
  • Added a dropdown to switch users on the menu sidebar menu
  • Updated how/where messages get posted.
  • Updated look and feel of message boards
  • Calendar Events page part - made showing popups an optional setting, off by default
  • Calendar Events page part - made showing the time period header an optional setting, off by default
  • Admin Menu Editor: Clone tree - copys entire selected menu tree to new name..
  • BasePage now automatically sets up Menu Names for all contained Menus..
  • Using skmMenu for drop down menu control
  • Going to your 'private homepage' is now optional (defaults to NO)

Posted on June/20/2005 05:17:13 by ehoffmann
Categories: Build Notes
Build 19

  • Fixed a login/url discrepencies
  • Added 'My Pages' Dynamic Page part - lists the dynamic pages for the user/group
  • Fixed Bug: Album page: Logged in, click edit mode, click it again - mismatch in edit mode occurs.
  • Fixed bug where image upload caused 100% cpu utilization (javascript error)
  • Fixed bug were only 3 of your uploaded images were getting added to an album (the rest where 'floating' - not associated with an  album - Perform an image 'search' to find those)
  • Fixed bug in ViewComments.aspx where the 'Return to previous page' link would not return to you the previous page
  • Fixed bug where the Group Owner could not mess with the group's albums

Posted on June/25/2005 02:33:09 by ehoffmann
Categories: Build Notes
Build 20 (11/25/05)

  • Added stronger email address validation on SendEmail, SendPictureEmail
  • Minor utility functions added
  • Added UniversalComponentEditor host form and BaseUniversalComponent class
  • *New* Dynamic Pages now support additional custom meta tags for search engines.
  • Fixed bug where the pages did not get re-numbered when you re-distributed images across album pages
  • *New* bulk update mode for Image title, description, attributes (after a search)
  • Updated image search with a max return on queries (1-300 as max to return)
  • Updated image search to be much more efficient. (1 DB query instead of hundreds)
  • Changed framework loadList method to loads all the data for an object list in one call instead of multiple database calls. Saves thousands of DB calls per browsing session.
  • Added to page trace number of SQL calls on main sql Context object (have to enable trace to see it)
  • Added helper for getting aliased table ColumnInfo
  • Additional extensions for SearchCondition
  • PersistentObject: clone support, default values on data accessor helpers
  • ObjectList : Cloning, cachine extensions
  • ImageAlbum List : approximately 200x speed increase (removed 250+ DB trips)
  • ImageAlbumPage : approximate 10x speed increase
  • Removed 350 calls to Group.LoadAll in default page load (No VisibleGroup/Entity Parameter)
  • Enabled caching of empty result sets of queries (avoid that DB call)
  • Added additional JS functions to common.js
  • Moved some of URL utility functions from BasePage to webhelpers.URLHelpers
  • Added random picture per page load to home page.
  • Made front page 'static' image configurable via Settings table.
  • Minor home page layout changes

Posted on December/03/2005 01:32:53 by ehoffmann
Categories: Build Notes
Build 21 - .NET 2.0

Build 21 8/7/2006
This build is the first published .NET 2.0 build. The .NET 2.0 conversion was begun 5/2005 & worked on (very) part time since.

  • ******* Conversion to ASP.NET 2.0 ********** (more details to be posted later)
  • Fixed edit link from Calendar/Default.aspx
  • Updated redirect rules to allow ppi llc sites to load correctly w/o the www.
  • Change to PersistentObject to use the built in DataSet data versioning functionality. Reduces object size by roughly half.
  • Updated framework to use .Net 2.0 DbProviderFactory instead of my 1.1 factory
  • Updated internals of ObjectList to use List<ObjectListEntry> instead of ArrayList.
  • SortableContainer.EntrySorter, ClassTypeMap, ApplicationObjectCache, InsertBuilder, ObjectCache, ObjectList, TypeLayer, PersistentObject, Query, SearchCondition, SqlContext converted to use Generic types for all collection/enumerator/enumerable comparer implementations
  • Site wide, updated to use specific generic types wherever possible for stronger type checking
  • Making the change to http://www.w3.org/1999/xhtml transitional doctype from 4.0 Transitional
  • Migrated to the ASP.Net Menu control instead of skmMenu (skmMenu still supported)
  • Updated cookie check JS code to be more robust (in new header versions)
  • Updated Admin/MenuEditor to use the built in new TreeView web control
  • Added a new JS function (/js/scrollPosition.js) to help retain scroll positions within divs/etc over postbacks
  • Updated PPILLC pages to use it's own App_Theme
  • Re-implemented 'favorites' page using TreeView control. Override TreeNode methods
    protected override void RenderPreText(HtmlTextWriter writer)
    protected override void RenderPostText(HtmlTextWriter writer)
    To inject more child controls to each node.
  • Updated PageMetaTag to be site specific - PPILLC was having ekhweb.com metatags in it, which showed up in the search engine results! Not a good thing.
  • Updated Admin screen 'PageRoleAccess.aspx' to show single page view by default, all pages option still available.
  • Fixed a bug in PersistentObject where empty result sets where being cached.
  • Replaced current contact page with static content.
  • New MenuEditor token: {UserListRoot:Pictures} - Supported in HorizontalDropDownMenu only currently
  • Added 'UpdateBuilder' to persistence library
  • Refactored User & Security related Business Objects to be part of the Hoffmann.persistence dll
  • ObjectList: operator + implemented for Union, operator - for Difference.
  • ObjectList: Intersection method added
  • ObjectList: SymmetricDifference method added
  • Implemented ObjectUserAccessEditor.ascx (UniversalComponent) for managing user specific 'allow' access to specific objects
  • Updated the 'about site' page
  • *New* Can now password protect files - A password must be entered prior to downloading a file with a password
  • *New* Can now mark files as public/private - you can control which users can view your private files. (Can be combined with password) (Give people 'View Object' access to the file to allow them to download the file)
  • *New* Under the user's 'Stuff' menu, a filtered view of files uploaded by that person is now available.
  • *New* Updated view file page to have 'upload' links, regardless of logged in status. (still must login to upload)
  • *New* Can now set your 'home page' on the site to a dynamic page (via Preferences)

Posted on August/08/2006 03:10:00 by ehoffmann
Categories: Build Notes
Build 22 Posted

Build 22 Changes:

  • Removed View SlideShow link from main album page (when have thousands of images; did not work so well)
  • Added slideshow link to ViewAlbumImages.aspx
  • Re-applied Indexes to tables (got lost somewhere in history..)
  • Removed ReadSide object support in favor of direct access to original read side value from object property
  • Removing use of DataSet/DataRow as the backing store for the business objects
  • Adding reflection caching for Attributes, Contructors, PropertyInfo
  • Simplifying logic by removing current Access support (unused & not maintained)
  • Adding support for loading objects via stored procedures in addition to existing dynamic SQL generation.
  • Changing from using DataSet to DataReader for loading objects
  • Updated postForCopy.bat for new projects/folders
  • Sites share common appConfig where possible.
  • Added DNS: images.ekhweb.com
  • Initial web services @ services.ekhweb.com

Posted on January/10/2007 08:49:30 by ehoffmann
Categories: Build Notes

(Build22.1 - drakehoffmann.com only) - 1/10/07
- Adding page output caching to DrakeHoffmann.com pages (home, popup)

(Build22.2 - ekhweb.com only) - 1/11/07
- Bug Fix: Could not upload pictures
- Change: Images now saved with original filename where possible
- Change: Images now uploaded to a subfolder with name based on login name, not guid.

(Build22.3 - ekhweb.com, common config - 1/13/07 )
- Updated image pathing to handle local web site projects better (QVCS IDE integration issue)
- Updates image urls to be rooted off of images.ekhweb.com
- Updated to retain original filename whenever possible for images/files
- Updated to not use webID for path naming; rather use user logonname & date for pattern.

(Build 23 - 1/18/07)
- Added option to keep yourself logged in on the current computer
- Home page, events for date, removed annoying popup
- Updated contact info on contact.aspx
- Updated AboutSite.aspx
- Updated ekhweb.com & ppillc.net so that they can be seperate deployed sites

- Fixed BUG: Image with '.' in filename does not have a large preview image.
- Added Proc: Create procedure GetNextID
@className varchar(1024),
@newID float output

declare @newID float
exec GetNextID 'className', @newID OUTPUT
- Email notification on image upload now only send one notification per batch of images
on the upload screen, rather than an email per image.
- ekhweb.com - Added google analytics script

Posted on January/18/2007 05:28:54 by ehoffmann
Categories: Build Notes


  • Cleaned root folder of site in live - re-organization @ hosting facility
  • Updated New Images page to have same layout as the albums page;
    updated the layout direction from top to bottom to right to left in the thumbnails
  • Refactored image upload bits to allow sharing common code with services.ekhweb.com
  • New account, image, and upload web services using WSE 3.0 (Microsoft Web Services Enhancements ) to enable MTOM for more efficient data transfer.
  • Removed centering of content in the comment viewer.
  • Added more books to the book list.
  • ImageCopy utility - now captures the first frame of a MPG as the thumnail view, better progess indication on large files
  • Uploaded New Images/Album view page to show 2 columns instead of 3 for larger thumbnail
  • Fixed issue on imagesearch.aspx - was not scrolling results, was not seaching in firefox.
  • Updated configs due to hosting facility moving root of my sites on physical disks (paths stored in DB/config no longer valid.) - I wish they had notified me of this.

Posted on April/16/2007 08:42:58 by ehoffmann
Categories: Build Notes
Build25 Posted

Changes in Build 25:

ekhweb.com & related

  • Since my hosting company decided to move my applications on disk w/o telling me; I decided I needed to make it easier on myself to fix when that happens. (previously I was storing absolute physical paths to files in the DB)
  • Put setting IMAGE_UPLOAD_ROOT in config file rather than DB
  • Updated common config to have setting for ROOTHOSTINGFOLDER so that I can change it on one place when the hosting company decides to move my files.
  • Updated so that new files/images are saved with path w/ token '%ROOTHOSTINGFOLDER%' instead of hard root 'C:\somefolder\etc..'
  • Updated menu control to use ASPNET CSS control adapators. This allows the menu HTML to be smaller and perform better.
  • Updated pages/html to be better xhtml transitional compliant.
  •  Admin\LogReview.aspx - Changed delete to a link button to force it to work in firefox.
  • FIXED: Form submission in Firefox.
  • Bug in app_code\CommonPage.cs - Codebase for preventing duplicate form submissions was breaking the form submission completely in firefox when validators existed on the page. Disabled the duplicate post check on form submission for now. Data update: Corrected the 'datetaken' attribute on a few hundred images. When I did the initiall population; the import took attributes from like named files - however, these files came from different cameras. Merged in changes from ImageCopy related to EXIF tag extraction to the main imaging dll. (Memory leak, thumbnail extraction)
  • Merged in changes from ImageCopy related to EXIF tag extraction to the main imaging dll. (Memory leak, thumbnail extraction)
  • Fixed : Admin screens - sending mail to all users on the mailing list.
  • Replaced HTMLArea with FCKEditor (http://www.fckeditor.net)
  • Transaction.cs - corrected a connection leak in transaction commit/rollback
  • Resume RTF Serving page was incorrectly having a theme applied, causing an error
  • Fixed bug in resume display where Work/Educaction sections not loading from disk correctly.

Updated Image Copy Util for my new camera

  • Allow copying into date named subfolders
  • Added directory recursion to the interface
  • Added capability to read the EXIF 'Orientation' tag,
  • Added ability to perform lossless compression & rotation on JPEG after reading.
  • recognizes camera/card type from folder structure

Image Upload Utility

  • Sort album names
  • Remove: should move to the NEXT image, not the previous
  • Add images popup - default to last used album

Posted on December/13/2007 06:00:16 by ehoffmann
Categories: Build Notes

I just put up Build 26 - primarily a UI refresh, but there are plenty of bug fixes and otherenhancements in the mix as well.

Things you may want to check out:

  • Updated slideshow -  You'll have to install Silverlight if you don't already have it - the page should prompt you when you load it.
  • A bit simplified image upload page with progress bar
  • New look and feel

First, let you know about a few changes that were deployed prior to today

  • Added link to Mom's condo's web page..
  • Something is wrong with the ie 6 specific style for the menu - causes ie 6 to LOCK when processing the li class="AspNet-Menu-Leaf". Disabling it for now (which means menus in IE 6 will not look very good).
  • Migrated home db server to SQL2005 - no code changes required at this point
  • Updated copyright metatags on site (data only)
  • Fix in Image\GetImage.aspx.cs that was causing 'new picture' emails to have broken links

Changes in Resume Editor

  • Updated to preview resume on EACH page of editing (at bottom)
  •  Added move up/down; edit options to EditWorkExperience.aspx, EditWorkExperience.aspx, OtherSections.aspx, EditOtherSection.aspx, EducationSection.aspx
  • Updated resumeprogress.ascx to not cause page validation
  • Added Resume.IsActive flag to allow multiple versions of resume to exist
  • Added Resume.Clone() method to allow me to work on multiple versions
  • Added Resume.Delete() override to allow quick cleanup
  • Added Resume import/export to XML


  • Split implementation of SortableContainer to helper class; defined ISortableContainer implementation
  • Added support for boolean to PersistentObject
  • Added low level support for serialization to from XML for PersistentObject
  • Using CSS buttons based on example at tp://www.dynamicdrive.com/style/csslibrary/item/bold_css_buttons/
  • Updated logout screen to redirect you to home page after 5 seconds.
  • Altered UI on RequestAccountPage a bit; 
  • Gave all pages except the home page a 10px left padding on the content region.
  • Removed imgMainStatic && code referencing it..
  • Overall, updated sitewide default for <a> elements - for some reason I had it stuck on xxsmall font.
  • Updating look of menu w/ CSS changes + graphics inspired by http://www.dynamicdrive.com/style/csslibrary/item/solid-block-menu/
  • Stripping out the left hand nav menu; no longer desire it on the pages.
  • Update Admin/LogEntry.aspx page to allow deletion of log entries by filter, clearing all entries, 'wild card' matches on searches + display of total entries

Pictures Area changes

  • Updated how 'new pictures' are shown on the homepage
  • Updated UI on Album List page to be more consistent
  • Implemented paging on ViewAllMyImages.aspx for userimages, newimages (but not group images at this time)
  • ViewAllMyImages.aspx - added a loading splash animation
  • Tried to simplify the image/file upload pages a bit, updated UI
  • Updated Image Upload page to upload all images to the same album
  • Removed 'attributes', and 'preview' from image uploading
  • Added use of http://www.brettle.com/neatupload for uploading (progress bar, memory utilization)
  • Updated upload field selection to be client side & not upload on change, only on submit
  • SlideShow: Changed to use http://www.codeplex.com/SlideShow - a Silverlight 1.0 component from http://www.vertigo.com/slideshow.aspx
  • Added breadcrumb navigation in the image area w/ icons.

File List / File Uploading

  • File uploading updated as well as it uses the same control as image uploading
  • Updated the the look of the View Files page a bit.

Posted on April/24/2008 07:48:20 by ehoffmann
Categories: Build Notes

I just put out the latest and greatest update to the web site - Build 27

Here's what's included:

  • Removed the loading overlay on ViewAlbumImages
  • Fixed an error that occurred when viewing a re-imported resume (bad filename)
  • Data: Added Upload Pictures to user's menu 
  • View Image Albums: implemented a date based paging feature
  • Updated to allow pages w/o any rolepageaccess entries to be viewable by Anonymous by default (makes it easier for me to deploy new pages)
  • Minor UI update to homepage left hand quick nav.
  • Added basic 'blog' capabilities; migrated main page and site notes to this new mechanism
  • Upgraded to FCKeditor 2.6.4 from 2.4.3 Build 15657
    • Includes web based spell checker
    • Logged in users can upload files/images for use in postings.
  • Fixed bug on home page new images section; was only displaying 30 of the uploaded; changed to allow all.
  • Updated page titles across all pages
  • Fixed Bug: Pager on 'view new pictures' is broken - When I select page 4; it refreshes and shows me 3 of 4 (30 pictures total)
  • Moved/copy stored procs to a dedicated folder where I can find them more easily, instead of in the buid to build folders. 

Posted on April/29/2009 10:21:57 by ehoffmann
Categories: Build Notes
Build 28 Upgrade

I just posted Build 28, highlights include

  • Upgraded to ASP.NET 3.5 service pack 1 across all sites & web services
  • Upgraded to http://www.brettle.com/neatupload 1.3.11 from 1.2.27 -   I modified this version slightly (removing some branding, etc) (Permissible by the author)
  • Fixed: Image/ViewAllMyImages.aspx?ViewNewForUser=true - ( When viewing new images; make sure newest pictures shown first, not last.)
  • Fixed: a bug in image uploader; sometimes albumname coming across as blank
  • Updated so that when you click on an image from the home page, it takes you to that album with the image selected.
  • When logging in, focus now on the username field
  • Extended 'MyPages' functionality so that site admin can specify arbitrary URLs, not just those hosted under /MyPages/
  • Updated menu to optionally show/hide a custom content page
  • Updated the UI on the dynamic content pages a bit to remove some distracting CSS that was being applied



Posted on July/11/2009 06:39:56 by ehoffmann
Categories: Build Notes
Build 29

What's new in Build 29

  • Added Summary to BlogEntry, conditionally show it if filled in.
  • Added summary display to list of blog entries in category view.
  • FullBlogEntryViewer, added date posted 'badge'
  • Blog/Default - changed recent/category to right col from left.
  • Using NiftyCube http://www.html.it/articoli/niftycube/index.html in select areas (ViewImageAlbumns.aspx so far)
  • Updated general look on blog/default.aspx
  • ViewFullBlogEntry.ascx - added link back to category.
  • Updated text on condo links.
  • Added linkedin.com link to home page.
  • BlogCategory List - added display of number of entries.
  • Blog - made sure entry and category lists have tooltips
  • Blog - added a calendar view
  • Blog - updated font size on right hand side nav.
  • Blog - sets page title and metatags based on what you're viewing.
  • Blog - If only ONE item in category, just show it
  • Image albums page - fixed issue where year list was not correct for non-site owner users
  • Image albums page - changed so that if no albums in last 365 days, displays previous year with content.

Posted on December/20/2009 12:46:47 by ehoffmann
Categories: Build Notes
Build 30

Posted on March/31/2010 10:16:46 by ehoffmann
Categories: Build Notes
Build 31

  • Fixed URL in data - menu link under Users, select user; from ~/SelectUser.aspx?next=Image/ViewAlbumns. to ~/SelectUser.aspx?next=Image/ViewAlbumns.aspx
  • Added ability to have multiple categories for a blog entry, updated services endpoint so I can assign them in the web interface and with Live Writer
  • Added ability to use the Windows Live Writer 'Excerpt' field to populate the blog summary field.
  • Implemented TypedList<T>, converted Blog business objects to use, replaced implementation of IEnumerable<T>/IEnumerator<T> with C# yield return iterator type implementation
    • This is to enable easier use of LINQ to objects w/ my business object flavors..
  • Updated code gen template to use TypedList & .Load...<T> methods on SqlContext
  • Updating to have a min-height on all pages.
  • Stripped references to hosting company
  • Added new test page to dump site metainfo for debugging
  • Fix on getfile.aspx to more efficiently transfer files & to not include extra 'junk' at end of file
  • Put into place a change in CMSRedirectorRule.cs to attempt to work around hosting facility that uses url rewriting to host domains in subfolders.
  • Fixed bug in slideshow data generation - it was not properly escaping literals for xml
  • Fixed master pages to allow more correct inclusion of CSS allowing site to run in virtual directory rather than root.
  • Disabled jumping out of frames

Posted on March/31/2010 10:26:07 by ehoffmann
Categories: Build Notes
Happy Birthday Natalie Irene Hoffmann!

  My little girl is three today!

Happy 3rd Birthday Natalie Irene Hoffmann!


Posted on August/27/2010 11:09:37 by ehoffmann
Categories: Build Notes
Build 32 posted

- Deployed Database\Procs\LoadLogicalImageByImageAlbumID.sql
- Added to common config:
    <add key="DevSQL_DBCommandTimeout" value="90" />
    <add key="LiveSQL_DBCommandTimeout" value="90" />

- Changed pages to HTML5 doc type
- Replaced use of Nifty corners js w/ CSS3 roundy corners.
            border-radius: 10px;
            -moz-border-radius: 10px;
            -webkit-border-radius: 10px;

- New color scheme / logo..
- Converted to VS 2010
- Converted to .NET 4.0
- Changes to home page/album pages to reduce size of markup for albums with many images.
- Using jquery lazy load from http://www.appelsiini.net/projects/lazyload
- Added link to familymoneyvalues.com
- Refactored config reading related to hosting paths/upload roots to new dll Hoffmann.webconfig; HostingEnvironment class
- Adding ObjectID class; support for integral ID values (rather than float w/ embedded type info)
- Dropped unused tables: Article, BorderImages, PublicEntities 
- Dropped ContactInfo
- Updated to integral ID values:
   Book, Attribute, AttributeDetail
   Setting, DictionaryEntry,FavoritesEntry,BlogCategory,BlogEntry
   CalendarEvent, CalendarEventOverride
   CategoryEntry, Category
   DynamicPage,DynamicPageDef, DynamicPageGroup, DynamicPageGroupLink, DynamicPagePage, DynamicPagePartDef.
   FileInfo, Path, Functions, GenericComment, Group, GroupMembership, ImageAlbum, ImageAlbumPage, ImageAlbumPageEntry
   ImageTags, MailingListEntry, ManagedContent, MenuItem, MessageBoard
   Rating, Role, SentEmail, SimpleRating, UploadedFileInfo, UserMessage, Users   
- Dropped resume tables & business objects  
- Updated callers of AddLinkEntry - changed them to ObjectID
- Updated callers of RemoveLinkEntry - changed them to ObjectID
- Removed custom document onload action registration/handling w/ jquery's mechanism
- Updated to inject head element  <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://services.ekhweb.com/livewriter/wlwmanifest.aspx" /> for Windows Live Writer integration.
This was necessary as LiveWriter now seems to have a different behavior for finding the manifest... Details at http://msdn.microsoft.com/en-us/library/bb463263.aspx
- Added ability to set a global sql command timeout

Posted on July/07/2012 04:19:00 by ehoffmann
Categories: Build Notes, Home Page
Build 33 posted

Real life intervened for quite a while – it has been a bit since I have updated the web sites – here’s what’s new:

- Got backup from hosting facility
- Updated home page to limit number of entries displayed.
- Fixed editing calendar date - if event had event date it was not correctly selected.
- Updated CalendarEvent - promoting 'Birthday' to it's own type, updating display in a couple of places
- Updated to .NET 4.8 (finally), converted from 'web site' project to 'web application' type.
- Updated home page lazy load to use loading="lazy" instead of jQuery lazy load
- Removed Silverlight slideshow, replaced with PhotoSwipe gallery
- Added additional navigation arrows on the album page
- Updated C:\MyDocuments\Visual Studio Projects\WebFramework\StartWebDevServers.bat to use IISExpress instead of older webdev server
- Verified web services calls (from drakehoffmann.com -> ekhweb.com)
- Updating style on drakehoffmann.com slightly, added in photoswipe.
- Removed google analytics script - will re-add later - it is an old implementation and getting blocked by ad blockers anyways
         <script src="//www.google-analytics.com/urchin.js" type="text/javascript"></script>
         <script type="text/javascript">
             _uacct = "UA-1207493-1";
- Replaced FCKEditor text editor with TinyMCE. FCKEditor was really old. There was an updated CKEditor, but I did not like it's license/limitations.
     - Using the open source version from https://www.tiny.cloud/get-tiny/
     - I implemented image upload handling: https://www.tiny.cloud/docs/tinymce/6/upload-images/
     - I wrapped it in a user control with same interface as the old FCKEditor, replacing all the old usages
         <%@ Register TagPrefix="uc1" TagName="TinyMCEEditor" Src="~/Controls/TinyMCEEditor.ascx" %>
         <uc1:TinyMCEEditor ID="Editor1" runat="server"></uc1:TinyMCEEditor>   
- Updated from jQuery 1.7.1 to 3.7.1
- Removed old JS library (not used): js\NiftyCube
- Removed old JS library (not used): js\htmlarea
- Updated include of js\common.js to include file modification timestamp to bust caches
- Added 'IsObsolete' to MenuItem, updated management screen to allow setting
- drakehoffmann.com - converted to web application from web site template
- services.ekhweb.com - converted to web application from web site template
- Changed from Nunit to using Microsoft.VisualStudio.TestTools.UnitTesting
- Added FluorineFx to use initially for it's http compression module
     also needs 'log4net, Version=,
- Added image/getimage.ashx, registered in web.config
             <add verb="*" path="image/getimage.ashx*" type="GetImageHandler"/>

Posted on January/01/2024 02:14:44 by ehoffmann
Categories: Build Notes, Home Page
Build 34 posted

Build 34 Notes:

- Fixed an issue in PersistentObject.Load where objects without explicit type info in the ID were not getting loaded from cache, resulting in too many DB calls
- Extending LogicalImage to have a 'Large' size version (1500px by default), used where appropriate.
- Re-themed site a bit
- Reworked UI on Image/ViewImageAlbumns.aspx
- Reworked UI on Image/ViewAlbumImages.aspx
- Cloned same UI from reworked Image/ViewAlbumImages.aspx to Image/ViewAllMyImages.aspx
- Cloned same UI from reworked Image/ViewAlbumImages.aspx to Image/ViewImagesByDate.aspx
- Copied helper LINQ scripts to C:\MyDocuments\Visual Studio Projects\WebFrameworkBuilds\Build34\_ScriptsUsed

Posted on February/08/2024 02:40:10 by ehoffmann
Categories: Build Notes