2/18/10 - things users will care about - Make Map Viewer Page Title be Map name, Duh! - in the weeds: - added filters and autocomplete to user admin page - added AYS Dallas Link - Added getuserbyfilter to Accounts.cs - expanded properties of Objects/User.cs - Added new html strips fcn (uses regex) 2/07/10 - Misc - Moved geocode web services to IG server (and updated dns record) - Made prod server email Admin on Windows start-up, so I know when to reset autupdates - MAde admin settings be in db (some) - Created email notification service to be notified of server/service stop and start - Removed double explicit setting of smtp port - Set smtp port to correct (updated?) value - Added more AYS links to main page - Added vistied link coloring to css - Made all css/js entries use build.revision number instead of static v number - Added settings table, added values used for new geocoding accross nic logic - Added spreading geocoding request across public ip nics - Added class to support web requests bound to outgoing interfaces - Rewrote g/y geocoders to use 1 or x ip addresses chosen at random each itme - Enhanced testing nic page w/ cases for google behavior - Made google work by useing second derivative of nic code - Added global.asax to geocoewebservice and geocodecompare to handle grab of ip interfaces - Added server instance name to other mal lib projects - Added kml stripping of spacces thinking this was the issue w/ googel -- it was not 1/11/2010 - Misc - Links to Delted maps are now no longer viewable (to non-admin users) -- doh! - Deletion of maps also sets the "prvate" flag (ie not public) - Update about page to tell users that we check vmail promptly but rarely take the call live - added geocode format note and link to "assign fields" map creation step - shortened main page "what is mapalist" language - Updated MAL welcome email - Development stuff - New JavaScript reference versioning scheme - New ajaxcontrol toolkit binary - New Development Machine in use (Fingers crossed this works) - ?not sure why mapalist.proj has new ref options for fb and gdata projects - Admin - Users admin pge now pages at 40 per page 11/16/09 - Admin - Added btn on "other" page to initiate stats update - Map Creation - added 5 new clor concentration maps (blue, purple, green, yellow, orange) - removed ability to show mappoints key for concentration map type - Misc - Added link to GeocodeCompare - Add new blog post re: concentration maps 10/26/09 - Admin - Moved mail server for InnovationGeo products to own server - Removed old dynamic usr map code -- didn;t need updates as often - Added another admin to email lst (the commish) - View User Maps: Added "Show only those from last week" default flag to reduce load on svr when called - Migrated from Shared server to Dedicated Server -- hopefully wont have autoupdate implications - Developer / In the weeds / Misc - Added errormsg attibutes to coordiante - Added proxy geocoder logic - half added provider specific map links for coordiantes - Can now pass target to coordinate google map link - Started to add extended data to kmlpoint - added www.InnovationGeo.com hyperlink to footer - added twitter accounts to about page - added ability to update geocode cache (used in ays) - added spliting of "to" email addresses in sendemail - added explicit value for google geocode key (prod vs dev) - was prev using mpaalist.com url or not (bad) - timebeasedevents can now have -1 as value to Not run - added all way through passing of UseDBCache for geocoding - Password rest fixed! - we weren;t trimming the user pwd vlaue, and copy and paste would often add a trailing space, also altered the connection timeout value for this. anyway, should be g2g - Home Page - Removed "Beta" label from App - Added dynamically updated MapAList stats to home page - They update hourly (via TBE) - Updated logos for MAL and MMP (on Main page and Google Gadget) - Trimmed "what is mapalist" section - Changed user maps pins to people - Map Creation - Upped amount of points allowed on user maps to 8001 (limit is bc of geocoding capacity, maps can handle more) - Add new Map type: - Concentration/heat map type (basic map type) - New "GeocodeCompare" tool - compare.innovationgeo.com 6/18/09 - Misc - Added a user requested icon 6/13/09 - AYS - Added ref to SAC - Maps - Now using menu maptype control - If map to small, then using smaller scroll control - Misc - Cleaned up who's using links - Press - Made most recent to top - Added Kiers latest blog post 5/26/09 - Admin - Reports - Removed reports that Admin could run that made DB lock tables (need to replicate slave db b4 re-enabling) - added more emails to autoupdate process - AYS - Added ref to AYS products on main page - DB - Moved DB to new dedicated hosting svr - Header / Footer - Changed top menu to be more sleak, made 2 panels into one - Changed references at footer from Brian Sobel to InnovationGeo, LLC - Added tutorials to help menu - KMZ - Chnaged all ref to KML download to KMZ - WIll now allow for more points on a map! - changed example maps to always load via KMZ, as set in WebConfig - Map - Added new advanced map settings - Can edit on save map step, and on mange maps page - Options - Map Center Point (if not supplied goes to one of the map points) - Map Load method override (can choose: auot, Javascript, or KMZ) - No longer appending the word "map" to default map name - Removed forever beta directions map - Removed a few columns from Manage Maps Screen: HTML File download, Share/Email map - Misc - changed hosting of RobynandAsaf to InnovationGeo - In process of moving all use of "Application" object to a mutexed globals class, thus allowing app to be run as service and not just as website (for autoupdates) - Press - Added CNET, Info Exame - Made logo into BW to not distract users attn 1/29/09 - AutoUpdate - moved MapUpdate enum to appropriate folder (it had been in wrong place) - Applied logic to only process entire GSS/MAp to look for updates if last update of GSS required it (duh! Thanks BM) - don't auto updte if - Map's last AutoUpdate > GSS 's last update time - Map's creation date > GSS 's last update time - unless it is from mymaps page (or adin version of that page) - Added more return codes for more robust reporting - DB - updated logic for connectioh strings - Removed scheme from all DB creation Scripts - Geocoding - Added module for reverse geocoding (google only) - Misc - Made unlock account btn also send user an email with the new pwd - Added post build steps for use of MAL binaries by other innovationgeo projects - Updated FAQ formating - Cleaned up and reduced usage of style.css - Added references to all BM's blog posts 1/24/09 - Design - cleaned up home page - put user amp at top, notices to bottom - changed the press bubble - thanks to Bolat.com for code snippets - Updated CSS file - Tweaked top menu design - Bigger fonts - Poperly cenetred text - trimmed css file - widened to be same as rest of home page content - Misc - Organized image files - Made User maps now default to sat iage, bc it is new and cool 1/9/09 - Admin - added new queries for: - users who want to be updated - last autoupdate updatesrequired - added ability to send emails from MAL help or the commish - Misc - added links to the new tutorials & blog - added new press link - Did a sweep of spelling updates (thx bmokotoff) - now hiding map footer if map width is below a certain threshhold 12/29/08 - Help - A forum, Finally! 12/28/08 - Admin - View User Maps - Redesigned: now faster page loads, and appropriate for volume of maps - Map Creation - Advanced criteria description now just is defaulted to comparison value entered, though it is still editable by user - Bug Fixes - Addessed Chrome/Safari issue with adaj modal pop-up greying out "my maps" page - Misc - Removed text from footer images to clean up look - Added about skype link - New Blogs linked to - Hid ie6 black pin message for exampe maps and kml loaded maps 12/19/08 - Admin - Formating of AutoUpdate Dashboard - Fixed Email Template and added try/catches - Misc - Removed rounded border from examples - Added username as prt of unlock mailto account link - Maps - Changed default footer to images only 12/15/08 - About - Added "Who's Using" page - Admin - AutoUpdate Dashboard - Added new queries - Reorganized components - Added some try/catches - Users - Added button to unlockuser account - Removed some unneeded columns from Report - DB - Added Settings table though not yet in use - Updated unlock user sp - ok for real, upgraded .NET/Connector from 5.1.2.2 --> 5.1.7! this is supposed to have fix for "OUT OF MEMORY (Needed...", see links below in prev post - confrmed that issue is now gone! f-yeah - Had to alter ManageMaps stored procedures as new DLL required it - Design/Layout - Changed color of main page from whitesmoke backs to DCDCDC - cleaned up content on Home/Default page, moved some to Help Pages - Geocoding - Runing this daily: delete poor precision geocodes from mapquest - Made Geocode alteration to now cache DZ geocodes as well as cache entre HT of geocodes - Added Yahoo/Google feocode threshold nums to webconfg, isnce they change kinda often - when geocoding mapquest results, now examining at precision, if a1xax/a3xax then deny, but allow this again as 3rd geocoder - MapQuest geocoder: now writes any addresses with preciosu A1XAX or A3XAX as zero geocde, because this was often a default when mapalist could not find the address - Misc - Removed Map Footer Google Ads, made like 0 dollars from it - Changed to donat eto MAL link :) - disabled text msging bc the cariers were blocking our messages (since we weren't using a shortcode) - Ended up removing it - Doubled AJAX timeout to allow long map updates - Warning now appears if browser is IE6, until "black pin issue" is resolved -- know what to do, just will take an evening to apply and test - Added new Q to FAQ - Startup Msg now includes DeploydAs - add cc of person sending "share map" email - Modified Mapalist.library.dll to support AreYouSafe app 11/x/08 Note on site: Updates & Challenges: Argh. While MapQuest geocoding is WICKED fast, and currently not rate limited, simply stated, the international address support is sub-par to Google & Yahoo. Thus, we are again making Google/Yahoo our primaries while using MapQuest as a fail-over (They are slower, and currently limit us to 20,000 a day). A bunch of you let us know that your maps were wrongly showing points in Kansas, and this is a reason. So, with this change, and our current geocoding options, the task of performing daily updates to every map in the system again becomes understatedly challenging. Thinking caps are back on to conjure up a resolution. We may try out MS Virtual Earth's geocoder as another alternative. Cheerio. 11/10/08 - Changed name of Geocodes tbl --> GeocodeCache - That required changes to the following: - Table name - SP's - DB c# code - alter statements to: TableName, Prim Key, Column Nmae, Unique Key 11/7/08 (b) - Geocoding - Changed Google Rate Limit from 1.725 --> .4 - Added automatic threshholds for Google And Yahoo, so that when they reach their daily limits, they move down in the pecking (sp?) order 11/7/08 (a) - Admin - Added ability to delete All Non Current MDP for All Maps (Powerful/scary) -- abondoning Slider desires for now - DB - Upgraded from MySql.dll 5.1.2.2 --> 5.2.3.0 (NOPE, actually rolled back bc of permissions issue to procs) - Fixed C# code for Get Txt Gateways - Reusability - Refactored MapAList.Library to support use in iLive.At - Localhost port - Determining Home/Prod - Added config settings for MapQuest ClientID/Pwd and YahooAppID - Geocoding - Now also Caching GeocodeSource and GeocodePrecision - Added the following fields to the GeoCode Table: GeocodingService, GeocodingPrecision, RowCreated, LastUpdated - Removed the design mistake that was the "StringCoordinate" and changed all use to the "Coordinate" - Altered Geocode Stored Procedures to add/get the new fields 11/04/08 - Misc - Changed google Map version from latest, to latest stable (2.x --> 2), which fixes zoom control in IE - Handle/Show appropriate user login error msgs, especially for "Locked out" condition - Slightly altered "user online time window" and "Rember Me" time length - Added title back to "MapAList Users" map 10/29/08 - Misc - Limited number of Users shown on example User's Map to 1200, to get it to load quicker and more consistently - Change many unformatted references to "map a list" to MapAList - Tried to address why Admin.Other sometimes won't render but forces to Admin.ViewUserMaps Page, but adding try catch - Added additional logging to "Examples.GetUserMap" to try to address scenario where UsersMap never loads - Internal Feature to make periodic page request now takes parameter (no longer hard coded) 10/28/08 - Admin - Added google Account info to users report (will be able to see those whom google accountname has not been updated) - Added new AutoUpdate Query which includes errors, not just usage - Google Analytics - Added to Google Gadget, Facebook, and Public Map Viewer (all not covered by previous inclusion), will now be able to see where people are embedding their maps - Misc - Made Connection strings have min of 10 in pool to account for issue where another instance locks up all remaining, thus giving prod application at least 10 - About Page - Added Mike's LinkedIn - Added some blog referecnes - AutoUpdate: (need to change reports to also include error log) 10/24/08 - Map Viewer - Tweaked the map height and width functions -- should show millimeters of more map - Map Creation / Map Management - Added option to show/hide map title - Ads - Repalced Side Adsense on Main page with PayPal Link - Added Map Footer Adsense Links (hope they become targeted) - Added site hints for adsense - Misc - Added back Google Analytics - Upgraded JS file to do null object checks - Added some verbage to FAQ - Ooops, removed alerts recently introdoced from some JS functions (my bad) - Added AutoUpdate restart if OutOfMemory Encountered (need to change reports to alos scour error log) - Identifed "Out of memory" error is coming from DB or DB.Connector, not the web server (finally a lead on this) - UPDATE 12/4/08: still an issue even with prod mysql verison upgrade to 5.1.30 - http://bugs.mysql.com/bug.php?id=30116 - http://bugs.mysql.com/bug.php?id=29123 - Directions - If To/From Title is emprty, then use address as title - Added more error handling - Admin - Added Geocoding Service order to Admin.AutoUpdate 10/23/08 - Admin - New detailed counts for Geocoding service Errors/Attempts - Tabs rearranged/renamed (again) - DB - Added ability to wipe out all old mapdatapoints, though only to use to trim db size while replication is not complete - Created some new fucntions, though they caused some issues with max, thus not used universally as envisioned - Geocoding - New Geocoder via MapQuest - No rate limiting known to date! Amazing. - Thanks to Josh B. from MapQuest! - Map Creation - New Map Footer: "Minimal" (Maybe only temporary, as intended for premiere users) - Map My Peeps - Non-standard Polictical statuses were causing issue, now forced any out of ordniary to "Other" - extended aysnc postback timeout, as was affecting notices to users after job had complete - Map Viewer - Changed sizing for maps when criteria key (on left ) is visible - May have fixed IE issue with Google JS v2.x, the placement of map.SetCenter() (See GetDirections/MapViewer for example) - Understatedly, YEAH! - This allows us to use latest version of Google Maps API, where previously we were stunted at 2.115 - Misc - Added some comments about geocoder rate limiting - Added new blog post references in "About" - New MapCreation Advanced Settings, Remove "X" Image. No longer red - Updated Javscript versions for MapViewer, and JScript - New Features - Directions: Ability to get directions from points in map (a->b, b->c, ...y->z) (Alpha Feature) - Added a->b directions viewer and shell (if decide to use as iframe) - Added new basic map type (currently only for admin/premiere) for route/directions - Includes the following settings - What points to include - Show traffic overlay (or not) - Show text directions (or not) - Show interective Map (or not) - Show static map (or not) - Walking / Driving - Avoid Highways (or not) - Temp disabled Static map, unless determine it is required for printing - DirectionsViewerShell now suports sample - Share Map - Finally added support for reply to address, so users cease replying to MapAList help (expanded static class to support this as well) - Reformatted 10/15/08 - Admin - New & Modified Reports - Alternate Map Footers - AutoUpdates - Map Creation - Simplified formatting of html for steps - Can now view your spreadsheet data via MapAList --> MapCreation --> ChooseSource ("Some" or "All" radio button) - Added more logging and error handling ot the "Choose Source" step - Now better handles inaccessable Spreadsheets/Worksheets, due to permission issues - A few conditions where there were silent fails, are now accompaied with error message explanations - Configure Map - Loads faster, halved the number of pin images loaded for choosing pin images (one set of images for adv and basic) - Map Updates - An unannounced change to a dependent API broke the ability to update some pre 10/5/08 maps. A resolution affecting majority of maps has been applied. A complete fix awaits news/updates to aformentioned API. - Details: if there were no matching spreadsheets, try a gss title match check, and if match found then use new Spreadsheetkey with worksheet match - See - http://code.google.com/p/gdata-issues/issues/detail?id=818 - http://groups.google.com/group/Google-Docs-Data-APIs/browse_thread/thread/903653e12d5502ea - Misc - Added logic to support hosted batch processing server, incl new google map key for new domain, and code to support determining which to use - Save GoogleAccountID to map early in steps - Have hundreds of new pins, though have not yet made available - Upgraded references binaries to .NET 3.5 - Now using Gdata Source code as opposed to binaries, at version 1.2.2.0 - Laying groundwork to add MS Virtual Earth Webservice as new geocoder - Added option to have server make dead page requests periodically to (try to) keep the application pool alive, thus allowing AutoUpdates to continue even if site is dormant - Logging - Added new logic to GetServerName - AppStart now logs ServerName - Added new details and notifiy logic to AppEnd 10/3/08 - Admin - New reports - Misc - Altered PayPal donate link - Little more auto-update logging - Little more logging re: "out of memory" error testing 10/1/08 - Admin - Enhanced AutoUpdate Page - New Queries - New Status Info - New Reports - Geocoding anomolies - Developer Stuff - Updates a couple references on site to unformatted: MapAList (instead of map a list) - AutoUpdates - Differentiated ability to shutdown AutoUpdates from Application and Web.Config - In case of application-level shutoff, Now cleanly exists and logs, while saving state - Bunch of testing, now going to again set this up to run from production (had been running from an alternate server, and can always move back if issues arise) - Geocoding - Refactored a bit to no longer throw on anticipatable issues - Now just logs and returns null result - More logging - Logging - As I look at certain processes a bit closer up (doing microlevel analysis) I have taken previously un-logged thing and upgraded their logging sevity so that they are written to db 9/29/08 - Admin - New 'AutoUpdate Dashboard' Page - Moved some of 'other' components there - New Reports - UserMapCountsNonTemp - UserMapCountsNonTempNonDeleted - Auto Update (Was UpdateMapData) - Add logging to end of threads for both multi-threaded modes - Moved all this code to new classes - Broke out into different modes: Single Threaded, MultiThreaded, and (NEW) Multithreaded with Appl Restart support - The new restart-support-mode is the biggest part of this release - DB - Changed cleanup code to now be implicitly called by "using" statements - Made this wholesale change to all DB application code - deleted utility cleanup fcns - Maps Class - Consolidated some code into common function - Moved some more dynamic sql to SP - MySqlMembershipProvider - Updated "CreateUser" function with usings - Re-Organized the SQL files into appopriate directories - Developer Stuff - Moved the "Users Map" code from TBE->Example Maps class - Removed some binaries from BIN that weren't in use - Made initial wholesale change to way map was accessed on MapCreation steps - Now using class to access it - This is cleaner, and leads the way for future updates of how this is handled - Removed the "showTitleBAr" option from all application/db code - Added second try logic to a couple uncitons, including: Update Google Account name, where the async thread was failing - Moved bunch of code out of TBE to appropriate exisitng/new classes - Settings.cs refactored - Email - Consolidated all email code to use one common library - All site email now goes to/comes from help@mapalist.com, as opposed to mapalist@gmail.com (though the latter will still be monitored) - Text feature is apparently broken (try port 25) - Updated the MapViewer.js jaascript file (now versioning name to address any undesired caching) - Each call now uses explicit - isBodyHTML - Footers - Refactored the footer code - Now using SiteFooter and MapFooter WebUser Controls and Enums - Map Table has been updated to store mapfooter type - DB and application code now supports this - Geocoding - Moved google throttle back to 1.725 (may need to test and then lower this) - Hel[p FAQ - Added new content - Logging - Append to Usage log now has updated file logging failover - Removed redundant logging o mapid:XXX from action, since it has it's own field - Manage Maps - New options - More use of images in lieu of text - Changed verbage a bit - Map Creation - SaveMap Step - Cleaner/Clearer Advanced Optional page - Addtional options now available - Made map preview that appears more like what user will actually see - Show 'Pin Types' option is disabled if not visible anyway based on map type - Map Viewer - Moved "Navigate" and "Show full screen" buttons to map footer - New Map Footers: Image only, Image and Text - Updated "notes" on text this map known issues/limitations 9/20/08 - About - Organized the Press Links - Admin - New Reports - PageLoadsByBrowserLanguage, PageLoadsByBrowserLanguageLastWeek, PageLoadsByBrowserLanguageLastMonth - MapViewsPerDayLastWeek, MapViewsPerDayLastMonth, MapViewsPerDay - MapViewsPerHourLastWeek, MapViewsPerHourLastMonth, MapViewsPerHour - New SP - UnlockUser - Allowed Admin banner to now support html formatting - DB - The issue with frequent crashes likely had something to do with an abundance of MySQL threads and an subsequent error in the MySQL.Data.dll - Explicitly now setting: connection pooling (true), max (150) and min (10) amounts, and connection timeout (30 sec) - Updated the MySQL.Data.Dll to latest version - Developer stuff - Removed case for a recursive loop (argh) in logging - Reorganized some of the geocoding classes into their own namespace - Using threading in many places to run asynchronious code. (I.e. WriteGeocodesToDB) - Changed many function that passed the Application objetc as a param, now global var in settings - Removed unused "using" from more classes - WebConfig - Reorganized - Removed unused binary references - Added substructure in Library.Objects for Enums - Added Browser Language log to google gadget - Download Map File - Now has 100% Map height - Geocoding - GetGeoCode from DB no longer throws error on fail - Added new fcn to load all geocodes from an ArrayList - No longer write Geocodes to DB if that is where they were acquired from - All objects related to geocode coordinates now have additional properties: GeocodeSource, ... - Added new constructors to all coordinate classes - Google Geocoder - No longer uses 1.725, now uses 100 milisecond throttle - also checking of location certainty and HTTP status code values - Help - FAQ - Can now pass "selected index" params to Accordian - Now has accordian for more condesned viewing - Main Page - Maps now will only be updated daily - Manage Maps - Reorganized columns - Renamed buttons/columns - Added Image Buttons - Made certain buttons disabled in edit mode - Map Creation - Do not auto-detect "EmailAddress" as Address Field - Map My Peeps (Facebook) - Fixed issue where you have 2 friends with same name (thought I had addressed this, though I hadn't for spread the word.) (Thx BKramer) - add current user to view peeps location info (Thx BKramer) - Map Viewer - Made JS 'zoom in' no longer switch to satelite view, it stays with current map type - Added additional msgs and links for maps not loading or maps with lots of points - Removed "Zoom In/GetDirections" if map exceeds 1000 points and is KML load - Instead of passing Seconds as random variables to Google for KML, allows google to cache it based on MAL build number and MDP (may have already released) - Update Map Data Points - Timestamped status message written to DB for every attempt Success or Fail on updating a MDP - Now begins only one hour of the day (currently 11 pm EST) - Do a full run of autoupdate to see how long it takes (10am --> 3 pm = 5 hrs) - Rewritten to used less thread creation, and shared reources - Doesn;t start if there are still some to process -- duh! 9/13/08 - NOTE: Server was restarting A LOT, so this is more of an emrgency fix, than a planned release - UpdateMapData Logic - Re-enabled multi-threaded, but intended for non-prod web server - Still to be retooled so more - many configurations via web.config: single/multi, disable TBE for updatemapdatapoints, num of threads, ... - Because of recent issues/instability, chnaged msg on front page to "daily" until further notice - Error Logging - Fixed what was maybe an infinite loop - Misc - Added build number to Admin.Other 9/12/08 - Admin - New Reports - A few centered on areas of concern with MapDataPoints (things to watch out for) - A few centered on areas of concern with SQL Injection attack attempts - Added additional (maybe unnec) layer of security/verification to prevent access to section - Closed secuity "gap" allowing access to some administrative pages - Other / New Dashboard Info - Removed all ref to Hashtable of Geocodes - Changed Sync Geocodes --> Remove Zero Geocodes, should they sneak in (Every 10 hours) - Added dispay of system info: Memory Footprint, # of Server procressors, hostname, ... - Status of UpdateMapData Points (x/y complete) - Development - Environment - Removed that "host process" setting that make things slow and crashing too often - Changed project type of MySQL document viewer - In the Weeds - Addtional Logging - Added insightful system info to Application Error/Start/End log messages - Now logging the browser Languge in each page load - Misc - Changed Object.Caller references to just Caller - Removed unused "using" statements from bunch more .cs files - Figured out where to use session adandon and where to use clear - depended on what was expected next - updated so that any user msg with the words "email us" is now a hyperlink - moved a bunch of code from Google classes to Geocoding classes, as appropriate - Reorged all the MySQL views into folders - change admin email from XXXXX@mail.com --> mapalist@gmail.com - Geocoding - Wholesale change of how this is done - Now, no longer using the application object at all - All cacheing is done at the db, and all lookups prior to to geocoding services are to the db - fixed issue where it was checking the db cache twice per address - Caching of any geocoded addresses to the db is now done in a anychronious call - Identified that the addnewgeocode fcn was causing many recent outofmemory exceptions - thus, following best practices - Rewrote the SP to not throw on certain conditions - Rewrote the c# to not throw on errors but use return values - Help - Added more ot FAQ. (Need to impliment forum soon...) - Map Creation - Updated Sample Spreadsheet to use location filed when all addresses fields were combined - Choose Cource - Updated user feedback on errors. Now if not "object error", then tell user and keep them on page - if "Object error" then send them to home page - (see session timeout change) - Assign Fields - added 'location' to auto determined/suggested fields (last) for assign fields - added "info" is now auto-selected for "AdditionalInfo" - Map My Peeps - Current user is now in "peeps's location info" table (Thanks BKramer) - Map Viewer - Changed KML mapviewer url to not always have a unique integer param at end, but to use build number - so as to maybe allow google to chache map data to better display for users when it sometimes does not load - Map now centers on one of points chosen at random, instead of first in alpha title list (if users do not like this, we can change back) - Added much more comments and organization to this page's code - Timeouts - Made sesison timeout to last 35 minutes (was 20) and cuased lot of "object errors" - Made credential save window (not requiring new login) to 90 days - Update Map Data Points / TimerBasedEvents - Did testing of 2 threads at once, and then two threads at once with HT of geocodes loaded, saw at least 300 MB - (in other tests > 400 MB w/ one thread), though hosting compnay says they are unaware of application upper memory threshhold (curious, it shoud exist...) - Change to frequency and implimentation of MapDataPoint updates - now single threaded - Removed potential for the process to be runnin twice, if previous run had taken longer than an hour - Using Mutex, though this means updates might not be every hour but as soon as previous run completed - Addressed condition where a map point with > 2000 characters for Title or Description caused new data points to be created. - Am now cropping the title and desc (additional info) fields at 2000, though could make the db hold more characters if determined valuable 9/8/08 - Admin - Added some new reports - Map Creation - Choose Source - Trim of cell value and column name now takes place as data read from google docs (thx bmokoto) - Misc - Performed tests of spreadsheet columns with same column name and then same column name but with a space at end -- worked as expected - Removed references to Linq, which mysteriously caused issue on prod server today, argh. - made "Get directions" explicitly blue due to opera/chrome reddening - Added Bmokoto linkedin link - Terms of Use - Added to user registration and page footer 9/6/08 - Admin - New Reports - Unique Sessions Per Day - Page Loads Per Day (Last Week) - Page Loads Per Hour (Last Week) - Page Loads Per Day (All time) - Page Loads Per Hour (All time) - Other: applying of admi banner now lets you see it applied immed - Misc - Fixed mis-application of AJAX timeout. Had accidnetally se tto 90 sec, now 900 sec (was prev 450 sec) - Removed some unused c#.cs 'usings' (used VS feature to remove unnec) - Made mapdatapoint getsortkey now include all fields - was an issue for map update data points with mult pins at same address - CreateMapDataPoint - Now does translation of desc/title in one step, temp only allowing ascii characters - Added/moved bunch of things to settings class - Scalability - Users Map - now has configurable limit on how many users will show up on this map: set to 2500 currently (i like to push the limits, though was at 3200) - Geocoding - We no longer load ALL geocodes into the applicaiton object - Pros - Faster applicaiton loads, if it goes down for any reason - Less memory footprint, which allows us to scale - Cons - Geocoding will be a bit slower, as db lookups are slowers then server memory lookups for cached values - initial getusersmap call is async, and geocode sync fcn only flushes to db, and not the other way around (though configurable) - "Users Map" is only visible once all the points have been geocoded, so app loads faster, but map doesn't show immed if app had to restart - added new protections agsinst geocoding empty address strings - Data - In reigning in the amount of space that was being used in DB due to non-suppot of unicode, any non-latin characters will now become '?' - this is temoporary until we finish work on unicode support - but it was a necessary move to put unnecessary db growth in check - Processed many of the maps that had between 40,000 and 100,000 points in DB - figured out what was causing this, and then cleared all previous mapdatapoints - Updated db creation scripts to show "status" -- i.e. what db the script was being applied to 9/5/08 - Account - Added additional error loging to Google Authentication step - I am really attacking (and upset by) the daily error log, trying to route out the causes - Admin - CustomQ - Removed viewstate from Gridview for quicker page reload, not sure if will do the trick - Devolopment Env. - Now using VS2008 SP 1 - Stripped mysql proj of lots of it's properties - "View User Maps" now has per user drop down granulatiy, ... - Other - Added "Load User Maps" button/logic - Geocoding - Added a couple layers of support to prevent geocoding of null/empty address strings - KML - Removed the document name element, maybe google was caching on this, and want to avoid caching - Manage Maps - Removed extra (x2) "num of pins' column - Updated mapname verification - Map Creation - So there is a definite lack of error handling in all the steps -- I confess! - But I am slowly, bc busy with other stuff, adding try/catches to pages as I see user problems - Reason not moving faster is bc I don't want to potentially mess up the whole map creation process bc I don't have wel deifnied recurisve testing procedures - Save maps - Now apply common map name validity check (on ManageMaps, and on SaveMaps Pages) - Fixed the infequently used DeleteExistingMap, called when user wants to save over an existing map name - Now uses SP that uses "Low Prioirty" instead of "Where IN", in any case, is now fast - Revmoed custom "setusrMsg" now using global fcn -Choose Source - enhanced user feedback for this step - Aquire Geocodes - enhanced error determinnation, handling, and user feedback (Thanks Lisa) - Configure Map - Fixed tragedy that was adv criteria - mult things were wrong with way adding/removing was implimented. Will be much better, hope resolved issues some had brought to our attn (esp thx to KeriV) - Due to user feedback (thx WWilborn) now support comparison of currency (in that dollar signs and parenthesis and pound signs and other format variations are now stripped so that it can be viewed as a decimal number) - Fixed issue where pin/marker meetign two adv criteria could have wrong pin image - Fixed non support for deicmal numbers - MapMyPeeps / Facebook App - Added (back) logging of all page loads - Made map smaller so users could see buttons (thx Ellen S) - "View Peeps' Location Info" now stay's populated on use of "Spread The Word" - Fixed icon image not showing on "Add App" waitng page - Map Viewer - Made 'map points key' little bigger to support double line titles - "Zoom In" link for KML maps now shows a pin, had to alter the url (Thanks WWilborn) - IE6 and below trouble-shooting - So I did a few things but I thikn the issue is any icons with spaces in the name just won't work, even if those spaces are removed or converted to %20 - but added whole new spaceless icon dir (argh) - Reduced height of map, bc there is now a view big btn, and it was overflowing if resolution was 1024x768, now shows entire footer - Map and footer now hidden in error cases - Misc - Added all press links to about page, removed press page - Altered some page headers on 2 pages (intentionally vague for security) in response to errors seen in the error log - Main Page "User Map" now loads faster - Pin Images used now more reasonable number, bc main page needs to load fast, with some but not max fun (max fun = all possibe icons), so this was a tradeoff I felt comfortable with - Advertising - Added back to examine if reasonable revenue stream, if not will remove to restore site integrity - Developer Stuff - GetUserMaps fcn has new params: 'Include Deleted Maps' - MAL.master: restructed html, prompter prob bc of google ads - Added spacer img for custom login in header banner - Made top menu smaller, so as to fit in 1024x768 - Added About linkedin profile link - Made sync geocodes to every half hour - ExampleMaps: User Map - Now more reasonable smaller amount of pins images - Removed any unplottable addresses 8/28/08 - Admin - Altered user queries on ErrorLog and Usage Log pages to not lock ErrorLog/UsageLog Tables - Esp caused by bad distinct FTS query -- doh - Altered layout of Error log page - New Reports - Non Admin Map Creation Flux - Non Admin Non Temp Map Creation Flux - User no map count - User Errors in last 24 hours - Created/Updated deployment script - Added back in global.asax thing, added test step to confirm that the timers actually start - Not sure if last time was a fluke - DB - Created Best Practice method for ruing all create SP/Function/View Scripts from command line, not will be run with each deployment - Repeatable deployment processes are ood, can't beleive didn't have htis until now - Adding hella indexes, should prepare us for load to come, and hopefully affect current performance (change script) - Accumulated a new set of SQL scripting commands necessary for local, deployment, changing character sets, etc... - Did explicit latin_general_ci collate conversion in all views. - later to change to utf8 for unicodeing effort, nbut this was to keep from being sweedish - Added new SP for adding map w/ DB set creation date - Added Definier to Fcn sql creation scripts - Development Env. - Set debug optimize to true --> actually not sure what this does... - In local DB string, removed the 'use procedure bodies = false' which was culprit for bunch of mysql issues encountered in dev - Facebook/MapMyPeeps - Fixed issue if user had >=2 friends with same name, then the "view peeps' location info" and "spread the word" did not load - Help - Added new things to FAQ - KML - Alter a bunch of things, think this could have been the cause of why the bigger KML maps are no longer loading - Cleaned out a bunch of no longer used commented out code - Layout - Updated CSS to make more alpha order - moved news below what to map... move back? - Main Page - Made "Map of Users" no longer show location zip code, to make the map load quicker, now > 1725 users/points.... - Made "See for yourself" and "Text" links dynamic so if user isn't logged in they point to Regiuster page - Also figured out that the inline HTML server code doesn't work if tag they are in is runat="server" -- Note to self - Manage Maps - Added number of pins to the manage screen - Map Creation - Pin limit being explored, but cut for now to 6001 - Have a fix that I haven't fully tested for the "Choose Source" step - but I wanted to get out a big db update release - thus I have added some logging but commneted out the untested partial fix - Confirming, did not apply the fix that was underwya, added back same throwing behavor, but added logging for further determiniation of what the prob is and subsequent behavior - don't think I changed anything in the createmapshell, but did alter the tab indexing - Added new serious pin in middle of order (orange with dot) - Fixed issue wit hnew "MarkerOrange" seriou sicon --> was not case correct in fcn - If applying settings via "preview map" or "next step", now clear any advanced criteria from session, previously persisted and was inconvieient if user then wnated to use adv bc they had to remove them manually (alternatively could have added a clear all button) - Map Viewer - KML param no longer uses javascript time that always made google get new kml, now using mapdatapoint, though may add back timer to prevent google from caching bad data if we produce it - Attempting 2 new fix ideas for <=IE6 issue - Different map controls rendered for: googlegadget vs. regular map viewer - Added new map control in bottom right for non-google gadget viewer (may be too intrusoive, but will wait for feedback) -- REMOVED - Moved KMLPAram creation fully to serverside where it belonged - Added "View Big" link to map footer - Altered size of map footer links depending on renderer - Press - Added link to new articles - Addded Press.aspx Page 8/23/08 (b) - Admin - Sync Geocodes, now also sets/gets "Users Map" - DB - Changed User query to non-sp since seemd to have more issues - Added hints to Error Log Page / SQL - Cosmetics - altered hyperlink beahvior, hope got all of them, but am sure not - moved some bottom links to press only, and shifted bottom links/images around - Main Page - Added new "What to Map" since real estate seems to be a popular use - Press - To let others know that they aren't the very first to take the plunge, added "In the News/Around the Web" (though searching for protocol, do sucessful sites not show this? does it prevent other write-ups?) 8/23/08 (a) - About - Added some more pins to storyline, and added Denny G. as a supporter - Admin - New rpts: - How many duplucate account email addresses - Enhnaced MapDataPoints Report - Enhance user account/map issue assistance tab - Reorganized/sized admin tab - Create Map - Configure Map - Made advacned "Criteria Description" textbox background to 'white', bc it was unclear users could edit this - Fixed Bugs - Idenified (and fixed) issue with advanced criteria, when same point existed in two of the queries, and those 2 queries used the same icon. - Now user is able ot have the same point in 2 diff queiries with same icon, should they want to - Fixed behavior where all map point data was lowercase - Old maps should be updated within hour of posting this code (please tell me if you see differently) - Issue could exist with group by map, if you have two data points that are similar, i.e. 'MX' and 'ma', in which boths will be different categories, and both will have double the pins, since we do case insentive matching - We no longer convert all data as we extract it from the GSS into lowercase, but we ensure that it is in lowercase whenever it is assembled as an address - (Thx for requesting this feature: B. Cubbison, B. Brown) - Choose Source - If unable to retrieve/populate worksheets, now it tells you, where before it logged it but sent you to main screen -- we'll see if this is better - Replaced use of local SetMsg to use static class - DB - Continued migration of some more old SQL to SP - removed handful of fcns that are no longer in use - Applied a bunch of optimization hints to the DB in Views, SP, and SQL - Both for Admin reports and general site functionality - Though some table locking still present - One was required bc GeoGeocodes was crashing server (ah, never an easy day) - Fixed issue where any new geocodes weren't being cached in DB -- typo in syntax (moved to SP, will prevent this from happening again) - Dev - Made Ajax Script timeout *2 if development server - Made SyncGoecodes and get user map data, not run by default in Dev - Added new google map api key for development server. - Preemptive measure. - Added mechanism for it to be automatically determined which to use - Documentation/Site Instruction - Added notes about use of an "all-in-one" address field, and other helpful notes on "Create Map: Assign Fileds" page/step - Opted against adding more controls after consideration -- Thx EH - Added note about case-insensitivity on "Configure Map" page/step - Javascript - MapThisList.com now also is redirected to MapAList.com - Logging - Fixed writing of session id, which is kinda useless, to log anyway - Added logging information at as to how long GetGeocodes DB call was taking - MapViewer - Rolled back, If browser is IE6, force users to KML maps, as didn't fix issue. - though if it was set now it correctly tells them that we have identifed their browser and they are using a depricated feature map - Misc - Spelling - "The process of aquiring geocodes..." --> "The process of acquiring geocodes..." (Thx KV) - Share Map - Provided more info to user on particular error case I've seen in logs - Removed local SetUsrMsg fcn - Added logic for that one map with a bad url, 16505 i think 8/21/08 -DB - Optimized some appropriate insert statemnts using DELAYED. This allows for better admin support and monitoring during peak hours -Gets around the locking that was happening when queries prevented usage log writes - Apparently all db didn't have infinite timeout, which I thought it did, so it was added to some functions in: Account.cs, Maps.cs. - No changes required re: anbove for: Geocodes.cs, Loggin.cs, Utility.cs - Fixed Bugs - "'ddWorksheet' has a SelectedIndex = 0" error on "configure map" page/step. Occured ~40 times in past few months. Was setting selected index to 0 when ment to -1 on reset of page - MapViewer/PublicMapViewerShell/MapViewerShell - IE public map viewer is full screen instead of specific height - Stadandized all the code on each (i.e layout and references to css/js) - Altered/debugged a bunch until I worked out what was causing differences in ie/ff -- I expect both will have same height behavior now -- more thourough tests nowin place - Issue with mapheight being so so tiny in IE in publicmapviewer is now resolved. Got into production in last release. (Thanks DH) - Added back distinct query string param for reporting when from MapViewer to know which are KML downloads and which are from the the MapViewers - GoogleJavascriptInclude now uses a dynamic key - added prelim feature that if browser is ie major version <= 6 then load via KML if flag says to do so (Configurable - wasn't able to test due to rushed release sched) - Cosmetic Changes - Removed the "Submit Query" that is displayed as images are loading on "Configure Map" screen. Not a realy big deal, but notw says loading, and is less brash. - All Links & redirects to main page use "~/" instead of user seeing Default.aspx. - Added use of randomizer so that Example Maps (i.e. User Map on Main Page) load with rotating map view types - removed innicious misplaced link break on "choose source" spreadsheet selection step (was visible in IE) - Misc - Looked into why example map on main page was being called twice. Figured out, but deemed innocious. - CSS - Fixed some errors in css where background was beign treated as background-color. Though to maybe be an issue, though later determined not a big deal, but important fix. - Changed all Gainsboro to #DCDCDC - Updated IFRAME code in the project to fix some of the incorrectly assigned attirbutes (not sure if they were causing issues) - Autoupdates are only automatically performed in production (not Dev) unless explicity turned on from development admin section - Documented a bunch of the recent news about Mapalist but no New/Testimonials page yet - Adding setting abstraciton for getting googleapikey - Fixed activty log query to show column names - Number of allowed points increased to 10,000 - Manage My Maps - Updated logic for creating new map data points - more status codes and subsequent details given after user initiated "Refresh Map Data" attempts - Provided some stop gap fix to issues with some non latin characters making map appear to need an updated data point. Bigger fix required, but cleaned out of data, and when code is posted will prevent some maps from being erroniously updated - Longer term solution requires changing the db table caracter sets, much isolated testing required before this is rolled out - Added ability for users to open their source Google Spreadsheet from page - Made more modular so that it could be ported ot admin page - Removed old obsolete param parsing from DownloadFile.aspx - Admin - Added "Manage User Maps" page: helpful for asissitng users, and testing map data refresh - Added Admin banner to facebook now as well, and moved to common class 8/18/08 - Optimization - Uber optimized the map creation steps (update map, next step, preview map) - Did so by: altering a delete statement using select in, to use a loop and explicit delete with low_priority - Map Viewer - Less javascript is loaded into page if map is loaded via KML - Navigate points button is hidden serverside, and now Javascript checks for null - Updated msg to user if # of points is huge - Logic for determinig what to include in KML is now run from here - KML - Smaller files due to use of IconStyles. Will translate into more allowed mappable points - Added more granular Zoom/GetDirections/ShowDescription Controls - Added Map Name (kinda, added Name of KML file, later to add map name once ensured doesn't noticably slow map loading) - Admin - Allowed admin to map configurable higher amount of points (enables better testing) - Misc - Added KML sample download to "news" of current Mapalist users - Developer Stuff (In the weeds) - refactored "SetUsrMsg" fcn 8/16/08 - Misc - New support for maps of > 3000 and > 5000 points. If > 2500 then uses KML map load. If > 3000 then "get directions' link is removed, if > 5000 then 'description' does not appear. Note this only applies for maps viewed via site, this does not affect 'download KML' button/link - Changed behavior to properly handle issues when email cannot be sent due to error. Now user is supplied with more info: (i.e. RecoverPassword) - Admin - Significantly expanded the Admin Reports Section. Will allow for better site monitoring/issue identification/resolution - Added granular controls for all type of admin emails (i.e. whether or not they are sent) - Only mention of mapalist@gmail.com is for recieving email, all rest of code is ready for webconfig email address to be chnaged on the fly, if gmail quota is reached and must be swapped out for another address/provider - Added unlimited timeout for all admin query gridviews - Added "Admin Banner" that can be updated w/o any application interuption 8/15/08 - If number of map points > 3000, and being called by mapviewer in web browser (i.e. not google earth kml download), because Google has an unpublished KML max file size of ~3MB, the "Get Directions" link will not appear to save space - The "Due to the abundance of points, XXX, please hath patience while map loads..." will not appear for example maps (i.e. Map of Users) - Added new footer links: StumbleUpon, Delicious - Removed the sky is falling alert messages. Testing alternate email gateway. 8/14/08 - Registration - Need workaround if email quota exceeded. Temp have made better error handling of this, and throttled the amount of admin emails. New email gateway in future. - Mapping - Bigger Maps now loaded faster! (KML loading of bigger maps, instead of javascript) (thx m.myers) - Automatically determined. Unable to have map points key on right w/ kml maps. - Update/Save map pages have logic if Map has > 2500 points to not allow mappointskey - Left map key now autoresized to map height - Map type "Basic: Map with unique pin images" now uses serious icon list before resorting to blue/green/red numbered pins, which are lamer - Allowable points on map from 2500 --> 5,000 (and 10,000 once I test some more) - Added more serious icons, reorganized so that cleaner ones appear before red/blue/green with numbers - Started to add auto page refresh on geocoding step, but didn't finish (yet) - fixed double load potential of user's map on main page - moved bunch of javascript code to MapViewer.js file - KML page now returns user map if mapid=-1 (i.e. it supports example maps) - Geocoding - Fixed step allowing runanway thread for geocode processing (more complex than that, but that suffices). - Prevented moving forward to next step if geocoding step hadn't completed - Save Map - Sped up a little process of saving/updating map (there is a big table that is currently updated) -- better fix in mind for later - Admin - Added new activity reports - Reorg'ed erorr log page - changed page size on user's page - added new shutdown logging details - Logging now logs server name, as does error logging 8/8/08 - "Download KML" in map footer - Can now download KML files of Map. - Thus can view maps in Google Earth, and other applications. - The Map Data is portable and exportable. - Admin - Added many new custom queries (which are actualy reports): map views in last week, map views in last 24 hours, ... - Separated out the sql views into different files - Added additional logging: map sharing, (email) any time the server is restarted, ... - Closed loophole in admin authentication - MapMyPeeps.com now redirects to MapAList.com 8/6/08 - Can now create multiple accounts under same email address - Added DB index to tables: mapdata and mapkey, might speed things up a bit - "Manage Maps" page now uses drop downs for editing maps (finally!) 8/5/08 - MapMyPeeps (MMP) - Made buttons disbaled until data is loaded after intial page Loda, for: "Spread the word", "View Peeps' Location Info" - Moved all non-map loading logic to after initial page load --> Goal was to get map loaded ASAP! - Cached few things (MapIDs for Current and Hometown, and Facebook Friends collection) in session to prevent server trips. Had not done some of this in past to prevent server memory issues, but decided it was worth the trade-off at this time - Made a lot of changes which should make map my peeps run 2 times as fast, at least (testing showed 1/2 previous load time) - Overall - Made more DB code use SP's - Centralized the cleanup of DB functions - Admin: added new options for usage log reporting, new custom queries 8/3/08 - Sped up few parts of site by streamlining most email notification to a separate thread (i.e. New Map, New User, Map Update, User Removal, Add Application) - Added "Text this map!" feature to MapMyPeeps 8/2/08 - Pruned the Text Message MMS list - Made MapName be Txt subject - Made Map Size from 500x500 --> 1280x960 7/31/08 - MAL - Wrote/Added Texting gateway module/SQL (Stored Procs/Tables/Reference Data) - Now able to text anyone a phot of your map (Not all carriers tested, but Sprint PCS works) - Static Image Map Viewer Now on ViewMaps Page - Updated "Countries" sample spreadsheet to have embedded image example - MMP: "My Peeps Location info" now has total friends 7/29/08 - Admin: - Added google gadget queries/views - Updated MapViewStats Query to include num of mapdatapoints - MMP: now loads facebook profile on add app, in case thsat user bails during initialization 7/26/08 - Fixed issue not allowing new MapMyPeeps Users -- ARGH! - Wasn't properly checking return result of GetFacebookMapID with DBNull - Removed Google Analytics bc of suspicion it was delaying page loads - Added filters to Admin ErrorLog 7/25/08 - Updates - Converted percentage of SQL to stored procedures (what took so long) to positivley affect rsponsiveness of site, and to rule out the db as issue with latency - Fixed MapMyPeeps reload issue causing the "View Peeps' Location Info" to load on MapType Change, instead of only once per site visit - Using Views now for some of queries (more for later) - Looked into memory issues raised by user and compared to normal use of google maps - no issue to report as of now, behavior appears as expected - Admin - Added new usage queries 7/21/08 -Issues - Looking into site latency - Added debugging statements to all cron jobs (timer based events) - Admin - Added Maintenance banner option to MapPage and Masterpages - MMP: Added Name to log of who removed app - MAL: added logging of new users - New Reports - MMP: who has spread the word and to whom - User Additions/Subtractions - Map View Stats 7/19/08 - Bug Fixes - MAL - Fixed issue with GetMapID relying on MapName/UserName for uniqueness, which is no longer the case, thus uses a GUID now - MapMyPeeps/Facebook App - now check session better by using GetLoggedInUser() as opposed to _fbService.UserID, which did not check session validity - Redid much of AddApp.aspx page to remove unnecessary ajax and show user better indication thst work is beign done, also posted back differently, and addressed Issue with Response.Redirect in Catch - Reluctantly removed email notification bc of time for call 7/18/08 - MapMyPeeps/Facebook App -Features - Profile code now shows links for both interactive maps - New Feature to be able to tell all or one of your friends about MapMyPeeps (it sends them links to yor maps as well) - Admin - Logs "Spread the Word" action (src person and recipients) - Name of maps changed: [person]'s Peeps' [hometowns/Current Locations] -- required fundamental changes - looked into too frequent: SynchoniseGeoCodeStores as potential issue causing site latency --> made every 15 min instead of 5 (will continue to monitor -- added extra logging) - If it turns out I can tell when app is removed, I will create a admin page for this - on hold - View eror/usage logs: chnaged query from 200->400 (this is still an area that need serious improvement) - Addded ability to delete maps - In the weeds/Development Related - replace all use of MapURL with a fcn - look into that facebook api error that keeps popping p, look into try catching around it's source -- Now give user msg and logs error - Altered header of Facebook Map Viewer and standalone 7/15/08 - MapMyPeeps/Facebook App - Now has a Profile Page/Presence (old users must view application page to load for first time) 7/14/08 - MapMyPeeps/Facebook App - Added Table of current freind location info: loads via asyc javascript call (very cool) - Cleaned up code/design for Add Application screen - Working on: Profile Page Map (Can't use javascript on Facebook profile page, so thus intending to use static google map images) - Features for later/soon - Playing with Google Static Maps - Exploring Issues with Visual Studio Rendering - Admin - Added MapMyPeeps Admin Page for helping users with any ossues they may have with their facebook friend maps - Developer Stuff - Reorganized and broke out all the DB classes - Broke out all enums from constants.cs into own classes - Redid the master page for facebook - Added no script back into MAL.Master 7/10/08 - Mapalist & Map My Peeps: - add logic (webconfig) for switch to dev or prod mapmypeeps - setup "map my peeps dev" facebook app for testing - Identified issue with FaceBookToolkit.NET truncated location information. Fixed the issue, and submitted fix to open src project. - Added new fields to map data and all associated code: FacebookUserID, FacebookDisplayName 7/09/08 - Bug Fixes - Fixed issue with DB:AddNewMap whihc wasn't getting the appropriate MapID for the new map, in any case, not sure if issues arose, but the code was wrong - Fixed issue that was appearing with slUserMaps. present when user was allowed to save two maps with same name. - "Object Reference not set.." error, when session expires, should now forward user to main page -- later a msg letting them know why - Fixed loophole on managemaps alowing user to save map as existing name -- doh - Added FaceBook Application: "Map My Peeps": http://www.facebook.com/apps/application.php?id=5364529102 - Currently limited functionality - Development Stuff - Created Directories for MasterPages - added titlebar and option to show/hide on mapviewr - New classes for facebook stuff - Upgraded to ASP.NET 3.5 and VS2008 7/1/08 - Addressed IE issue with iframe size - Addressed issue with Google Releasing error with v2.116 maps, thus moved to static version of 2.115 until a later time when they fix the bug, which was present in IE - Addresses issue with "DisplayAfter=1" regarding update progress panel on ViewMaps page - Behind the scenes - Overhauled the error and logging features of site for better debugging of issues and less innocious/benign errors - Added new fields to errorlog/usagelog - Broke up all Google code into a bunch of classes for developer cleanliness 6/12/08 - Any MapTheList.com --> MapAList.com - Fix: security answer is not shown on account page (this is done on purpose, nothing to fix) - Made map points key (on right) dynamically set height - Fixed Javascript Error on map page with GetWindowHeight (hopefully didn't introduce any new) 6/4/08 - Addressed issue with map Description/Title popup content having a '\r'. Now '\r' is also handled. 6/3/08 - Made all maps fill entire div tag (full screen button that was optional now is always set) 6/2/08 - Added "Zoom in!" link on pin pop-up - Map now have a "Loading..." pre-screen to let user know whats going on (javascript foo enabled this) 6/1/08 - Added "Pan/Navigate through Points" button/feature - Added 'Tool Tips' to map points - Made points draggable, though position changes are not recorded, pins return to original places on reload of map/page - Added new Default Map type to support google "Physical/Terrain" map type (this can be set on 'save map' step, and 'manage my maps') 5/31/08 - Removed Google Ads bc they were interfering with Map of Users on main page - Changed Digg javascript to image with link bc it appeared the javascript was causing issues - Users map is now shown in full screen mode - Addressed Javascript Error on mapviewer ascx/aspx pages (the private and public viewers) - Added "How did you hear about us" to register page - Admin:User GridView Paging restored - Added ability to unlink Google Document Account(s) on Account Page - Added ability to view any map in full screen view 5/28/08 - Added Google Spreadsheet Sample links on: CreateMapPage, Help:FAQ, and News 5/19/08 - Logo Design Work (incl Image) 5/15/08 - Added PayPal Donate Link 5/12/08 - Fixed issue with "Download Map HTML File (Updates Automatically)" link on Manage My Maps, now works (simply put, but enhanced this functionality) - Enhanced Admin Pages - Reorganized code, cleaner, though not any functionality upgrade, significant none-the-less - Fixed issue with recover password requiring one to resetup google authorization 5/5/08 - Changed default zoom level on map of users on home page bc we have hella international users! - New Features for Maps - (1) Added new zoom options: enableScrollWheelZoom, enableDoubleClickZoom, enableContinuousZoom - (2) Added new PublicMapViewerShell.aspx/MapViewerShell.aspx and MapViewer query string params (though not yet set-able via config page): - (a) sgd=y is Show Get Directions link in popup - (b) hmp=y is Have Msg Popup 4/21/08 - Added flag to show (or not show) the GetDirections link for map points - View tab on MyMaps now autorefreshes on each time page is viewed, prob could make only once, but this is better than before when user had to click the refresh btn 2/1/2008 - Capacity Issues: Seen timeouts increase - Expanded AJAX timeout window - Added AdSense to aid with future Increased Infrastrucutre cost - As mySQL was the cause for the timeouts, expanded connection window for all commands - Add digg btn and digg MAL 1/18/08 - handle and provide more user input when google fails to parse spreadsheet (thx c.m.a.) - Made height of Google Gadget a bit bigger - Added more email notifications to administrators of site events - Added phone support: 202-683-8931 12/27/07 - No longer Alpha (for now)! Thanks to all for crucial testing / usage. - Can (finally) edit/view account info via account page: way to unsubscribe from emails, view mapped gmail accounts, etc. - Fixed Google Gadget login forcing user to re-associate google account when going to main site (thx b.k.) 12/26/07 - Added Default Map View Type (Normal, Satellite, Hybrid) as Advanced option 12/11/07 - New logic makes icons for "group by" map chosen by shape and color to be more distinct. helps for black and white printers (thx dg) 12/08/07 - Addressed issue with NewLine characters in Map Title or Description fields preventing map from displaying 11/23/07 - Google now views mapalist as a trusted source - Maps are now set to public by default - New pins of different shapes and patterns 11/14/07 - changed whole site from www. to no www. - was related to google auth stuff, but should work now, as well as trusted site (though may be a few days b4 google updates) - fixed issue with object null on next after back/forward button use for create map steps - Addressed New User Bug - re: google authentication step, moved to own page, now forced to this page if user hasn't done it. - added more instructions how/why this step is required. - fixed issue not allowing user to set diff than default setting on save map page - updated trusted google auth token settings (hopefully they will stick this time) 11/13/07 - updated CreateMap steps to support serverside the back/forward buttons. Client side will work, but wont be updated until user clicks somehting. (Complete solution including clinet side to be worked on in future) (Thx K. V.) - Added about/help navigation to not logged in users - Create Map: Changed maptype 3 name to "group by collumn" - Add btn on main page that says Create a map! - Admin: - added custom query page - added email template page - updated error log page (for custom queries) - DB: - added detailed logging to each fcn - updated getmap/getallmaps to account for null googleacountid - no longer logging all geocoding errors (was clogging log with false positives) - Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '=' issue addressed by manyally setting all coolaitions to lat_gen_Ci, must do to localhost db still 11/07/07 - Added about page content - New Users - Fixed apparent issue disallowing new users from creating maps. Doh - Auto selects GSS after registering with google 11/06/07 - Admin:Other now tracking yahoo/google geociding errors, added app restart btn, when app started (added logging to session/application start/stops) - myGeoCoder now logs svc errors to app variable - CreateMapSteps/ChooseSource.ascx.cs - now error logging to user and preventing bug of map data beign > records limit (currently 4000); protects against out of memory error from one user; also not saving as much to session object - Slider temporarily removed because data collection over time not 100% finished - Added more feedback to Acquire Geocodes step on Create map. Now shows Geocoding Svc failures and Mappable Addresses - Fixed Group by Distinct Column Values: was showing same icon if group # was > # of serious pin icons 11/04/07 - add in javascript alert that says if javascript is disabled then the site wont work - addressed google geocoding svc returning 403 errors by limitng 1 req. per 1.7 seconds as documented - made yahoo primary geocoding svc because of not limit request / sec factor - added steps letters to geocode acquisitionpage on create map - added other admin Page - moved autoupdate thread cnt to webconfig - added mapid to error log, so i can soon remove processing, or turn it off if error cnt is high - made cache geocodes a static common fcn - now do not cache 0 codes - added letters to acquire geocode steps (easier to follow) - made map viewer use a string builder for memory reasons 11/02/07 - New wizard for creating maps -includes data preview -ability to handle large records sets (>5000 tested) -more advanced settings -Zoom Level -Show/Hide 'Criteria Description Key' -more help info as to what each step accomplishes -In Create Map Wizard -In FAQ - Share This Map link now on: PublicVeiwer, ManageMaps, Google Gadget, ViewMaps - (Some of) Other Details - fixed issue with caching of geocodes - not all processed were being stored in cache due to single quote being converted to double -- will no longer hapen - User can now create multiple maps on same computer on same browser - extended session length - updated manage maps ascx page for new options 10/20/07 - Fixed issue with wrong pin image key for type 3 maps - fixed recently introduced issue with mymaps page - Subtotals now appear manditory in key for type 3 maps - X / Y now appears for slider in View Maps Page with data over time - Google Gadget - now does not show map points key - createnewmap- now clearing out map name on resave - mapviewr - fixed pin url to always remove images icons for smaller pages/quicker load times, trying to resolve map issue pin ie6 - whole image urls not relative - shaddows not always appear (well except for ie6 issue) 10/17/07 - Working on performacne/load limit testing for browsers using google maps as well as way for site to deal with processing of large address lists for user - Updated Google Docs link - Fixed google gadget to work with DB instead of old XML, had forgeotten to switch 10/16/07 - Created "Current Users Map" for Map Examples Module (Other maps soon to come) - Tuned myGeocoder to remove some duplicate lookups - Moved login control to top menu 10/12/07 - Map now centers on one of user points as opposed just to USA 10/11/07 - MAJOR overhail - No longer storing data files fro maps in XML, now using the DB - above might help address the caching issue (if not, other ideas queued up) - Added new function and tables for: MapDataPoint, MapData, MapKey - Added mapdatapoint slider to viewmaps tab -- ability to slide over map data over time! - Map data only updated in DB when changes are seen to data - Extracted logging features into their own class - Switched around steps on CreateMap Page - Re: trying to address out of memory acceprion: limited scope of data used by admin GridView components, seems they were pulling all data to web-server - Map names can now have any combination of any 3-100 characters 10/9/07 - Moved Help/About to Public login not required dir, soon to put links on main page for them - Added new basic map type: 'Map Distinct Groups from a Particular Column (using respectfully unique pin images)' (Thx Denny G.) - Redid some of GSS code to adjust for Geocodes that were found to be zero the first time around but different in future - Added try catches to all in Global.asax - Map Points Key items are now sorted alphabetically 10/8/07 - Tried to address out of memory exception that was happening by limitiung amount of update map data threads, also put that process in its own thread so as to not pause webserver when the event on that time was triggered - Added capability for admin to be able to see all user maps to assist in debugging user issues - Starting to populate FAQ 10/7/07 - Added YahooGeoCoding back into the mix - on failover of Google geocoding now falls back to perform yahoo geocoding. hopefully will take care of 403 errors, but will introduce new limitations, and doesnt answer why certain addresses already in DB were being looked up - Added filtering of error/usage logs by user - Expanded sizeof stack trace error in log - Added more information to Geocode errors - Updated google mpas api key - maybe will reslve 403 error 10/6/07 - Added Map Key for Advanced Critera. Shows up on create map page, view maps page, and public viewer - Whole site now faster, because, duh, using compiled/release binary as opposed to source files - Addressed long load for return users on Create Map page, now explicticly-ish cause google data get by chooseing google spreadsheets from source type dropdown - Advanced criteria comparisons are now case insensitive - Default icon changed ot green for color continuity - Fixed big bug in advanced setting criteria comparison operators: Criteria was saved properly to DB, but but map was displaying all wrong if those comp. operators were used - Added more error logging: mygeocoder, google geocoder, timerbasedevents (if unable to sync geocodes with db) - Extended width of Downloaded file to support key, set to 100%, we'll see if it needs ot be scaled back. Tried again half-wittedly to enable full screen map, to tackle again later 10/5/07 - added date to update message on addition settings control on create map page - GSS added custom error for SS column name changes issue - updated google binaries, and code for ssEntry as the object model changed - Error Logging: fixed issue where null page caused error msg's message to get cleared - Altered css for new menu - New theme for menu bar - Hid additonal critera that were shown on Create Map Page - Made help screens (x3) into one page with tabs - Moved most ascx's to module directory - Added Javascript file error as begign - Added refrsh tags to map viewers (Not sure resolves IE6 cache problem yet -- thx Benjy M.) - Added framework for email error updated but did not impilment (Will do explicitly, custom soln) 9/27/07 - Fixed DB connection pool problem (thx Mike C.) - Fixed 2 SpreadSheets with same name issue in populatng SortedList/DropDown (thx Mike C.) 9/26/07 - Added capailities and infrastructure for more robust usage and error logging - Added admin pages for user activity visibility and error and usage logging visibility - Mostly addressed the file not found error logging on server for css ans js links (had ot due with master pages. My opinon, an asp.net bug and vs.net.) - Added logging to a few more pages not covered by masterpage 9/25/07 - added ability to map using latitude and longitude in any format supported by geocoding service - added code to geocoding service class to support this - updated db based on new lat/long fields - separated field assignment funct from createmap page into user control to make create map page more manageable - added 'additional optional settings' section to create map page - made 'Map Points' key on map an optional setting - addressed map cached data being placed in wrong location, which translated into maps sometime not being refeshed or accessable - refined/cleaned/mad more clearer the url algorythm for map cache data on map viewer sub page - view and manage tabs are autorefrshed on tab chnage, causes undesireable page flicker, but thats acceptable (for now) (ok, disbaled this going to handle a different way) - Map pin title dropdown is now not able to be blank so as to hepl users understand what it is for 9/24/07 - added country field - added msg as to why refresh fails (esp for collumn name change) - fixed Image Remove Advanced Criteria button - tried upgrade to google map code for faster loading, did not apply to google gadget - enabled maps to be replaced (same name problem) - upgraded to ajaxtoolkit 9.20.07 9/22/07 - more documentation on homepage - manage maps page (basic functionlaity to allow users to delete/rename maps) - fixed dual login creds issue (force www.fdomain, just as google does) - fixed line break in map description issue - added hover over naviagtion but only works in firefox - add autoupdate capability for all saved maps - recreate data file for maps from DB criteria (save off address associations in DB) Wasn't Keeping Teack of Dates - Basic Map criteria enabled - animated gifs: tested and some added - cahced geocodes in app variable, though not saved off to db yet, and not multiuser safe - added links and functionlaity to view all or selected google docs - added ability to refresh data from google for SS and WS - Cretae new map page - if i put an update pane around advanced settings or just around accordina doe sit prevent that event from getting to map on certain calls? it did on first test, stopped evaluating for now. - added ajax to site - added google-like ajax progreess bar for when page being updated - create logic for other basic map types (4 more added) - saving of basic and adv criteria in db complete, well except for need for ss and wsid to be displayed which will enabled automatic updated based on the criteria and loading of edit my maps page - iframe - DB: user table-added and conntected code, geocode-added and connected (week goal) - google gadget (week goal) - cache geocodes in application, and db, and ability to save file and have them injecteed by app - Caching in db google creds to prevent user from having to login each time - added code for revoking google token (though not currently enabled) - reworked create new map re: the chnaged and reflowed much better use of tokens and such. now makes sense - added in login login and session logic for getting token if not loaded - will later add support for assigning mult google account to a mapalist account, now only one - added validation back to map save txtbox - add back validation fro step 8 - remove space restriction allow in jscropt logic reg expression - Create new map had two ajax update icons, removed one - User Experience (moving along, much of registration complete) - Save Map (ALL BUT GOOGLE SS, AND WS ID, need ot figure out where ot get and hhow to best use it) (mostly doen now, just to test recreation ad to add addr mapping fields, but google data in db should be sufficent) - cant view map i just created on view page - resolved major issue with permission and javascript map vieweing - added code to autodetermine webserver loc and not require reseting of db connection str each upload - add loggin to the site for page usage as well as error logging - removed birthday field to not scare away new users - db - using parameters now in sql statements = better and can use mysql dates - misc - using more approp srrve rlocation tech to not based on page - objects - added deleted bool prop - google gadget - removed commented out lines - google ss gif - removed logo text - mymaps - explored tab change reload, and added manage maps control