Saturday, May 12, 2018

Change Log: 2.77.1480

Release 2.77.1480 is primarily a back-end/clean-up type release that overhauls the way that the legacy webapp renders HTML and continues the project I started back in January to cut HTML render times in the legacy webapp to the bone.

Beyond the non-trivial back-end optimization work included in this one, release 2.77.1480 also includes the Beta release of a new feature that allows users to include Fighting Arts and Disorders from expansions in their "KD Collection" in their settlements' drop-down menus.

Additionally, Departing Survivors controls have also got a new beta feature in this release. Once you select a showdown type, the Manager will check your Innovations and tally up the total Survival bonus that applies to your Departing Survivors.

(If you are a subscriber and you would like to check any of this out before it hits general availibility, just enable the "Beta" preference on the Dashboard "System" menu. Please also check in and let me know what you think!)

In terms of general UI/UX optimization, users will notice that the Dashboard and the Campaign Summary have been cleaned up and normalized a bit, in terms of presentation: all of the various arrows, checkboxes, etc. are more tightly aligned in this one.

The form for creating a new settlement has also been overhauled and updated in release 2.77.1480.

Users will notice that the form looks more like the rest of the Manager now and may also notice that new settlement creation speeds are increased. Release 2.77.1480 cuts the legacy webapp out of the pipeline for creating new settlements, so the action is all on the API-side (i.e. requesting a new settlement now requires a single server-side operation, rather than two separate operations where the browser is the middle-man between the app and the API, as it has in the past).

Finally, getting back to the HTML render times I mentioned up top, this release eliminates several redundancies in the process for rendering the Dashboard, Campaign Summary and Settlement Sheet HTML, which I expect to further decrease render times, even versus the enhancements I made back in January.

Thanks for using the Manager!


Corrections and Fixes

  1. Normalized presentation of the Dashboard 'tab' elements at all three breakpoints.
  2. Linted out a handful of extraneous close-brackets from the Campaign Summary HTML that were having a weird effect on certain display elements.
  3. Cleaned up some vestigial console logging in the login.js app that printed API responses to the console (and junked it up).
  4. Addressed an issue at tablet resolution where the padding at the bottom of the Campaign Summary view might sometimes not be large enough and the "Manage Departing Survivors" button could obscure items in the view.
  5. Addressed an issue where Firefox could add HTML characters to settlement names when editing/saving them.

Application Enhancements

  1. Optimized the Campaign Summary JS so that it loads the settlement, then the user, then everything else.
  2. Deprecated a bunch of legacy webapp code:
    1. removed support for rendering settlement asset link button HTML from html.py and session.py.
    2. removed the "campaign flash" HTML stub from everywhere it occurred. 
    3. removed the html.ui class of HTML stubs
  3. Redesigned the settlement title block and critical settlement stats
  4. Refactored the "no survivors" error block on the Campaign Summary
  5. Endeavor controls no longer appear on the Campaign Summary during LY0
  6. Updated the README.md file:
    1. removed references to Celery
    2. revised the intro to include the project disclaimer
    3. cleaned up some of the sections with info about contacting me
  7. Dashboard System preference descriptions can now include HTML
  8. Implemented a new Beta feature on the Departing Survivors controls that totals up the Departing Survivors survival bonus. 
  9. Refactored the controls for new settlement creation to get them up to current application standards:
    1. Moved the new settlement creation form out of html.py and into its own template file.
    2. Created a new JS module for new settlement creation (newSettlement.js) and put it in the new js/ folder (off the project root).
    3. Removed the HTML form and checkbox/label structure (replaced everything with clickable divs).
    4. Re-did the form to use KD Sheet UI (black box) styling.
    5. Inactive selections are dark grey; active ones are black
  10. Started moving JS files into the js/ folder; started creating new ones based on one-off controllers in kdmManager.js (trying to make the app structure more modular/accessible)
  11. Moved the beta 'KD Collection' controls out of the 'System' tab and into their own tab.
  12. Deprecated the old user asset creation CSS, since all of it has been replaced with KD sheet UI styling (end of an era).
  13. Completely removed all the code in session.py that supports 'modify' or 'new' params incoming to the legacy webapp.
  14. DRYed up session.py a bit so that it does template subs once while rendering view HTML (instead of doing it here and there, etc.).
  15. Finally deprecated assets.ua_decorator() decorator method, since template subs for the highest-level info are happening in session.py now and all HTML 'modules' have been moved out to templates/.
  16. Deprecated the admin.dashboard_alert() method and the feature (it's banished from session.py).
  17. Moved a bunch of AngularJS HTML out of html.py and into their own template file in templates/ and deprecated the html.angularJS class completely. Relocated templates:
    1. the Dashboard
    2. the Beta Hunt Phase helper
    3. the settlement notes HTML (which needs a refactor...pretty badly: it's way off from our current standards, etc.)
    4. Campaign Summary
  18. HTML templates are now managed in the settings.cfg file, rather than in the code.
  19. Moved the template_file_to_str() method out of utils.py to html.py and renamed it get_template() so that a.) it's more of a first-class citizen, and b.) so that it can be called html.get_template(), which makes more sense that what we were formerly doing. 
    1. it can now return as str or Template type (depending on kwarg)
    2. it now adds the '.html' if you forget to supply it
    3. if it can't find a file, throws an IOError with a reference to the hypothetical absolute path of the missing file.
  20. Deprecated manifest.json support (because a.) no one uses it and b.) I stopped supporting it over a year ago).
  21. session.current_view_html() now accepts kwargs, rather than hard-coding default 'output' and 'body' values
  22. Deprecated assets.Settlement HTML rendering methods; down-graded html.py settlement HTML templates to str stubs.
  23. Moved the JS for the gear search app into its own file.
  24. Clicking on gear cards in the gear search closes the tool and resets the search.
  25. Used the unit tester to prune a bunch of deprecated/vestigial CSS elements from the main style.css
  26. The button for managing Departing Survivors fades in now, as does the button for the subscribers-only Campaign Summary read-only gear UI
  27. Top nav bar buttons load AFTER the user, and trigger the retrieval of other info from the API
  28. Added a warning to the expansion content controls about the red text (i.e. required expansions)
  29. Eliminated the Campaign Summary's "bottom spacer" div (which was a hack and is no longer necessary).
  30. Added a noscript block to login.html (and styled it to look big and scary) to appease the JavaScript-disablers. (Which is far down that road as I am willing to travel.)

API Development

  1. Keyed in some Innovation asset attributes/descriptions for use in the Beta Departing Survival Bonus feature:
    1. core innovations with a departing survivors survival bonus.
    2. expansion innovations with a departing survivors survival bonus (which is basically three of them).
  2. Cleaned up and expanded the API documentation:
    1. Fixed a few erroneous references to the deprecated new_settlement route.
    2. Added documentation for how to use the new 'special'
  3. Created a new dictionary of expansion assets called collection that we'll use for pseudo expansions (rather than introducing settlement-level preferences, which I don't see a need for just yet).
  4. Fighting Art and Disorder assets (in settlement's game_assets) now include a 'selector_text' attrib, which can be used for pretty display in the webapp.
  5. Added a help tip to the Dragon King expansion re: the "Destiny Husk" (Husk of Destiny) Rare Gear. 
  6. Keyed in some more Dragon King gear card data.





No comments:

Post a Comment