each new release Update playground installs to latest WP version Update alpha version numbers in basic-google-maps-placemarks.php comment and core.php constant Develop on WP playground Update readme compatible tag to latest WP version Update readme changelog and upgrade notice Update PHP/WP version requirements in basic-google-maps-placemarks.php comment and core.php constant Test on WPMS playground Test on washingtonhousechurches.net Update final version numbers in both places in code Update readme stable tag Remove any notes from TODO for current release Commit to repository w/ description of changes Download zip and test extracting Respond to any relevant open forum posts, mark as resolved where appropriate version x.y.z x = Major, fundamental changes, possibly breaking backwards compatability. Will probably never do a 2.0 unless WP makes some fundamental change to custom post types or google releases v4 of the api y = New features or other significant changes. Things that average users would want enough to upgrade. z = Bug fixes, minor tweaks, small feature additions 1.7.1 bgmpdata can be output inside shortcode funciton this would simplify things a lot, wouldn't have to parse out anymore wouldn't have to use filters to insert args with do_shortcode - updatge readme still peek ahead to tell if shortcode called or not, and enqueue functions.js based on that, but don't need to do that for data 1.7.2 inline documentation add 3.3 pointers for intro to main things the first time they install add inline docu for reference - http://wpdevel.wordpress.com/2011/12/06/help-and-screen-api-changes-in-3-3/ parse shortcodes inside the info window. (would have to parse it before passed to js) http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-including-shortcodes-in-info-box?replies=1#post-2522736 in getPlacemarks(), just pass $pp->post_content through do_shortcode() ? cleanup, refactor stuff? lots of TODOs in code if( !get_option( self::PREFIX . 'map-width' ) ), etc should be necessary in singleActivate(). add_option() already checks if it exists remove and test add placemark default icon by category example to readme http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-categories-feature-requests?replies=16#post-2562891 test it out first add other notes section to readme? filters TODO list and/or feature requests locatlizations? some faqs that don't belong there? leave faqs for troubleshooting-ish things, "other notes" for the rest? make note in faqs to see "other notes" and visa-versa basic/advanced usage moved from installation to other notes? 1.7.3 show map on single placemark page that only shows that individual marker add "placemarks" param to bgmp-map shortcode. e.g., [bgmp-map placemarks="13,93,234"]. pass in post ids add to list shortcode also? http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-placemark-page-with-just-one-placemarks http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-possibility-to-show-a-single-placemark?replies=1#post-2554004 move variable init from __construct() to init hook callback. nothing but action registrations in constuct() savecustomfields() should use $postid that was passed in instead of global $post->id ? ensure filtered varaable data types don't change, like you did for ODCG return is_array( $postMeta ) ? $postMeta : array(); add notes on automatic upgrading to installation page ditch the conditional javascript loading so map arguments and do_shortcode can function like normal? give user option to turn off scripts except for a whitelisted list of pages or something? 1.major internatinoalization use marcel bootsman's code to start dutch one. see email on 9/19/2011 use bablefish to make crappy translations for common languages. add list of transatlions to readme say 'contact me' to help out w/ translation - add to 'how can i help w/ plugin development' list in readme when this is done, maybe take some things out of faq and make a 'features' list on main page\ add to list of features on description page infowinder not rounded anymore? b/c of image styles? try turning off stylesheet and see what happens close infobox when click anywhere outside infobox $(map).click( function() { if( not inside current placemark box) close current placemark; } ); add column on View page for category, address, icon 2.0 rewrite as MVC and better OO? all the models should be unit-testable controllers should be? http://wordpress.tv/2010/04/24/blair-williams-wordpress-plugins-oc10/ look at http://wordpress.org/extend/plugins/wp-mvc/, http://wordpress.org/extend/plugins/tina-mvc/, Churro: @ wordpress.org extend /plugins /churro [not to use, just to get ideas] http://www.jessehanson.com/2011/01/02/mvc-based-wordpress-plugins/ do other research 2.0.minor finish setting up unit testing add to 'before each new release' list add new unit tests for any new/modified code run unit tests php - simpletest plugin? maybe need to refactor everything so methods are more testable. break into controller and model. models should take input, do shit, and return. that's testable. the two mixed together isn't testable. add unit tests for all functions add integration tests for all functions (in separate file) js fireunit? kinda old, but most of the newer ones seem to require eclipse or something else http://www.slideshare.net/aaronjorbin/dont-repeat-your-mistakes-javascript-unit-testing look for wordpress.tv video of it from wrdcamp sf 2011 maybe make this 2.0 if you need to rewrite everything to be more MVC and testable. probably not worth the effort, unless you just want to do it to learn could abstract out the hooks, api interaction etc in the constructors, and have the models all accept/return variables so they'd be testable. supposed to test controllers instead of models, though? 1.major.x change localize_script() to wp_add_script_data when that's added may not need to manually json_encode() once you do this. it might do it for you wp 3.3 localize_script supports arrays now, so don't need separate map and marker variables in js? can just output a single bgmpdata array? switch to wp_add_script_before if it comes out in wp 3.4. wait until 3.5 is out, though, to give people time to upgrade. 1.major.x switch to using add_meta_boxes_{$page} hook http://wpdevel.wordpress.com/2011/12/07/do-not-include-wp-adminincludestemplate-php-to-get-add_meta_box/ 1.major.x add current_user_can() in places -- http://wordpress.tv/2011/09/07/mark-jaquith-jon-cave-brad-williams-plugin-security-showdown/ 11:30 map covers dropdowns bug http://wordpress.org/support/topic/google-map-covering-dropdown-menus?replies=2#post-2300994 http://stackoverflow.com/questions/506984/how-can-i-place-a-html-div-over-the-google-earth-plugin-involves-wmode-i-imagin https://www.google.com/accounts/ServiceLogin?service=groups2&continue=http://groups.google.com/group/google-earth-browser-plugin/browse_thread/thread/dc38137e4b816837%26followup%3Dhttp://groups.google.com/group/google-earth-browser-plugin/browse_thread/thread/dc38137e4b816837&followup=http://groups.google.com/group/google-earth-browser-plugin/browse_thread/thread/dc38137e4b816837%26followup%3Dhttp://groups.google.com/group/google-earth-browser-plugin/browse_thread/thread/dc38137e4b816837 http://earth-api-samples.googlecode.com/svn/trunk/demos/customcontrols/index.html http://code.google.com/p/earth-api-samples/issues/detail?id=9&colspec=ID%20 http://maps.myosotissp.com/demos/popups.html can't call enqueueMessage() in settings.php - http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-that-address-couldnt-be-geocoded-fatal-error?replies=5 fixed w/ temp workaround, but need better solution just make enqueuemssage public? 1.major.x run tests on memory consumption, etc. see if you can find any areas of code that would significantly benefit from optimization ask for advice on wordpress answers for tips on how to test wahc doesn't work as demo anymore since not current version. setup wpms playground blog as new demo, populate w/ sample content. update link in readme. make sure to update w/ new releases (add to list above). don't use to test, only as pristine demo. redo enqueuemessage,etc to use WP_Error objects instead of just strings? but what about for normal messages? look for all @todo comments in code, and move them here. clean them up before moving on to next 1.major version update readme filter examples w/ http://wpengineer.com/2319/advent-calendar-predefined-callback-functions-for-filters/ 1.major.minor add icon next to name in list shortcode add option to disable info windows lant/long shouldn't be disabled input fields, should just be regular text. some people will think they should be able to edit it. 1.major add hooks/filters filters done in core, but not documented. need to escape? document their usage in readme. do this instead of options? in addition to? don't forget settings.php, views, etc. probably shouldn't be any in views, only in models/controllers try to detect if theme is loading google maps api, and then don't do it? e.g., http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-broken-map-with-dk-template?replies=1#post-2522633 1.major.minor enqueuemessage() bug - adds it twice for coordinates error, probably for everything else too do shortcode bit only works with 'front page setting', not straight home.php template Home.php would have to setup a custom $post variable with query_posts() or WP_Query() in order to access the content, but there's no way to pass that version of $post to the shortcode check function. maybe add a second array where you can defined template file names (e.g., home.php, map.php, etc) instead-of/in-addition-to post slugs http://wordpress.stackexchange.com/questions/10537/get-name-of-the-current-template-file maybe make a static function they can call that will just pass a single array w/ slugs? instead of them having to setup shit in the theme's functions.php? is_home() helpful? update faq maybe look at encoding the content w/ some reversible algorithm so that email addresses aren't exposed in $bgmpData would have to add an option to turn on/off? wp 3.3 could affect js handling http://core.trac.wordpress.org/ticket/11520 maybe break messages and describe into Toolbelt class give it it's own name not related to bgmp, a version number toos 1.major.minor http://code.google.com/p/gmaps-api-issues/issues/detail?id=1724 workaround didn't work. file a new bug report for the issue. setup a test page when fixed, remove the override styles. errors shouldn't overwrite the map unless the map can't be loaded anyway map may load fine, but then error with placemarks. don't want to kill map just b/c placemark didn't load. log to console instead only if a ?bgmp_debug parameter is passed in, so you don't clutter the console also add error to page. create a new empty

under map for messages create a bgmp.log() that's a wrapper for if(window.console) console.log width px and % -- http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-how-to-tweak-the-code-to-get-width-instead-of-fixed-px?replies=4#post-2242249 test to make sure it can work as he described across browsers. if so, probalby just leave as is and update docs to let people know describe() add 'transient' as option set_transient( self::PREFIX .'consturct', 'blah', 60 ); add 'echo' behavior, and return another option already copy/pasted, but need to test make it a switch instead of if else ifelse 1.major.minor loadresources isn't specifiying a version number for the maps api. if they switch to v4 i don't want to plugin to automatically do it see if you can specify v3 enqueuemessage should let it can be converted to string if it has a __toString() function does that cover types like int, or have to list them manually? http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring maybe hve it enqueue an error instead of returning false, since not really gonna check if it returns true test to make sure wp action actually is working for essages. i don't think it runs on edit-page, so wouldn't get notice of geocode error check out wp_enqueue_scripts if works, update wpse question. also add it and admin_enqueue_scripts to codex list in the appropriate order 1.major.minor double check that everything is sanitized give everything a once over, check comments, empty phpdoc lines, etc stat bug is back - http://wordpress.stackexchange.com/questions/21132/repository-reporting-incorrect-plugin-active-version-stat http://phpdoc.wordpress.org/trunk/WordPress/Administration/_wp-admin---includes---plugin.php.html#functionget_plugin_data admin_notices target http://core.trac.wordpress.org/ticket/14696 have to go through each message and deterine who it should go to this will bump required version up to 3.1 reember to update readme and environment check might want to use is_user_admin() when setting or displaying error in addFeaturedImageSupport being added multiple times maybe b/c sitting on page and auto-save adds one? could not call enqueue if auto-save inside addFeaturedImageSupport, but probably better to check if message already enqueues inside enqueueMessage() might be fixed by 'target' task, but probably not add option to disable the 'image media button disabled' warning. would have to be site-wide option? update error message to let them know they can disable it organize FAQ page into sections? 1.major.minor add px units to $('#bgmp_map-canvas').css('width', response.width ); etc ? probably, just need to test check the rest of the file for other places better method of setting style defaults than the current one? want to let users easily override widht/height w/ their css or code maybe just add filter before sending to json, but that still doesn't feel right add support forum link to plugin page uninstall script take wpms into account uninstall settings but not data. note that on the installation page under an 'uninstall' section removed the infowindow height and renamed the infowindow width (to maxwidth) option in v1.2.1 or 1.3. remember that you still need to remove from db here 1.major remove the 'upgrade to 1.0 addresses' activation bit - no longer needed for most users mobile support mobile placemark bug http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-i-cant-see-the-placemark-on-my-mobile-phone?replies=1#post-2201681 read through code, try to think of what may cause it try googling for answer 1.major.minor look into http://docs.jquery.com/Plugins/Authoring to see if you should do things that way 1.major.major some things may only need to run on the admin side, or only on the front end. check for that and handle appropriatly keep in mind http:codex.wordpress.org/AJAX_in_Plugins note 3 about being inside is_admin() custom icon for placemarks menu. maybe a pinpoint? (similar to default google maps icon, but not exact same b/c of copyright) user requests. implement if enough people ask 6 - javascript to toggle categories on map dynamically 4 - have links in [bgmp-list] open repsective info on map. would also be nice if arbitary links could do the same (e.g., links generated by the user, not bgmp) http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-place-marker-links?replies=1#post-2554607 http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-onclick-from-external-link?replies=1 http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-categories-feature-requests?replies=13#post-2558220 3 - instead of setting icon on placemark, you could set it on taxonomy. looks for in order: placemark icon > category icon > default icon 2 - set width as % in addition to px check that google api allows that this may be working in 1.3 already, check notes for 1.3.2 or 1.3.3 for testing info 2 - directions (and other options that google includes in their implementaiton? e.g., 'zoom here'? http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-directions?replies=2#post-2494522 one other? 2 - option to have placemark info window open when map loads. http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-placemark-show-by-default?replies=3#post-2519181 at least 1 other? 1 - separate role for placemarks, so users can add placemarks but not regular posts 1 - user supplied text for map link on list shortcode filter exists already, but not easy to use 1 - option to disable info windows 1 - zip code search to display placemarks near a given zip code. could also have a shortcode option to display them 1 - search only placemarks 1 - shortcode argument for post id, then only display that post on the map http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-possibility-to-show-a-single-placemark?replies=1 1 - geolocate ip and use as addr for placemark http://wordpress.org/support/topic/plugin-basic-google-maps-placemarks-automatic-location?replies=1#post-2566677 future/maybe list shortcode sorting order by alphabetical - this already posible b/c of filter? order posts by latitude, zip code or something meaningful. distance from map center? api does return city/county/etc data option to choose which method used (most recent, alphabetical, distance/location) map won't load if theme doesn't call wp_footer(). add check to make sure theme is doing that. display error if it isn't. look into having a capability so users can control what other users can add them? add ? icon next to address field and move the 'you can type in blah blah' bit there