DEV BUILD (branch: master) - NOT FOR PUBLIC USE
 

Check out our latest Fleet Action!

 

Engineering Office Report #6 – v3.3 Release

December 18, 2024

As our core activities continue to evolve, so too must our systems that support them. In our last release of BFMS, we introduced cross-command and squadron missions to continue to push the envelope with writing, and today, we are proud to now do the same for gaming!

In the release that just went live a few minutes ago, you’ll find a swath of changes forhow gaming is supported on BFMS. From how you highlight your gaming platforms on your profile to how you submit your gaming activity with other members of the fleet, the experience has been streamlined and better aligned with how gaming works today within the fleet. Further, in addition to the gaming updates, a number of other changes are also packed into this release, including staff workflows, a confirmation box for story posting, and a smattering of fixes and improvements to dashboards, competitions, mobile, etc.

For details on everything that has changed, please see the full patch notes for BFMS v3.3 below.

Acknowledgements

This release was a labor of love from our Deputy Engineering Officer, Commander Mamof. Bringing to bear not just his exceptional capabilities as a software engineer, but also his experience as a member of the Security Office and as a Task Force Executive Officer, Mamof led the entire lifecycle of this release from initial planning through development and testing.

Additionally, I would like to thank Commander Aaslin Braim, Fleet Admiral Teylas Ramar, and Admiral Liam Dahlgren, who collaborated with Mamof on ideas throughout the process, as well as Fleet Captain Sazra Kobahl and Captain Callen Varro, who helped with testing prior to the release.

What’s Next

The work on BFMS never stops, and as we look to the future, our eyes are on the next Fleet Action, and what we can do to best support what’s coming. To this end, while we’re not ready to share exact timing yet, for the next release, you can anticipate major updates to two of our systems:

  • Competitions, including native support for several common competition types, a streamlining of competition management workflow, and support for a showcase of submissions after a competition concludes.
  • Fleet Assets, including new features for personal units and some other exciting things to spend your prestige on.

As we look forward beyond that, we are looking at the join process, as well as another all-new system that promises to be just as exciting and impactful as the Fleet Assets system was in 2024.

Patch Notes

Gaming

  1. The gaming activities data model has been updated to natively support the Gaming Policy and automatically calculate ribbon awards.
  2. When submitting gaming activity, members will now be asked to select the activity and the relevant multipliers that apply.
  3. Security office workflows related to activity review and supported game management have been significantly streamlined.

Members

  1. Member profiles now support listing one’s accounts from a wide variety of gaming platforms, including Star Trek: Online, XBox, Playstation, Nintendo, Steam, Epic, Ubisoft, Battle.net, Origin, Bungie, and Riot.
  2. A new timezone option has been added to the member profile.

Staff

  1. Automated the process of setting up transfers for inactive users to the reserves.
  2. Resolved an issue with senior officers coming back from reserves not having the correct access on BFMS.
  3. Resolved an issue with the primary command not being set if it is the first command since returning from the reserves.

Other

  1. Added a confirmation dialog when publishing a story.
  2. Added prestige to the top of the dashboard so its more readily visible.
  3. Added a section to the task force pages activity section to see ribbon awards.
  4. Limited the number of non-active competitions that will show up on the dashboard.
  5. Ordered the dashboard competitions by either their closing date or starting date if they are active or not active respectively.
  6. Resolved an issue with menu options disappearing on mobile.
  7. Resolved an issue with menu options not being consistent across story and mission pages.
  8. Resolved an issue with the announcements in the About header pointing to the development site.
  9. Resolved an issue where a members discord level was not displaying on the promotion tracker.

Load Time: 0.22 seconds

Total SQL Queries: 46

1 SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_name = 'engineering-office-report-6-v3-3-release' AND wp_posts.post_type = 'group_news' ORDER BY wp_posts.post_date DESC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (34811) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 141639 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 141740 LIMIT 1
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (141631) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 141632 LIMIT 1
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (141632) ORDER BY meta_id ASC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (94767) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 94776 LIMIT 1
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (94776) ORDER BY meta_id ASC
1 SELECT wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'group_news' AND ((wp_posts.post_status = 'publish')) ORDER BY wp_posts.post_date DESC LIMIT 0, 2
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (18311) ORDER BY meta_id ASC
1 SELECT wp_posts.* FROM wp_posts WHERE ID IN (140922,140618)
1 SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('group_news_category') AND tr.object_id IN (140618, 140922) ORDER BY t.name ASC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (140618,140922) ORDER BY meta_id ASC
1 SELECT wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) INNER JOIN wp_postmeta AS mt1 ON ( wp_posts.ID = mt1.post_id ) WHERE 1=1 AND ( ( wp_postmeta.meta_key = 'event_status' AND wp_postmeta.meta_value = 'In Progress' ) AND ( mt1.meta_key = 'event_type' AND mt1.meta_value = 'fleet_action' ) ) AND wp_posts.post_type = 'events' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_title DESC LIMIT 0, 1
1 SELECT wp_posts.* FROM wp_posts WHERE ID IN (122202)
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (122202) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 13085 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 86412 LIMIT 1
1 SELECT ID, post_name, post_parent, post_type FROM wp_posts WHERE post_name IN ('donate') AND post_type IN ('page','attachment')
1 SELECT * FROM wp_posts WHERE ID = 141631 LIMIT 1
1 SELECT wp_posts.* FROM wp_posts WHERE ID IN (18311)
1 SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('group_news_category') AND tr.object_id IN (140255) ORDER BY t.name ASC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (35402) ORDER BY meta_id ASC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (140255) ORDER BY meta_id ASC
1 SELECT * FROM wp_users WHERE ID = '1' LIMIT 1
1 SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC
1 SELECT wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 AND ( ( wp_postmeta.meta_key = 'promoted_user' AND wp_postmeta.meta_value = '1' ) ) AND wp_posts.post_type = 'user_rank_assignment' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (17777) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 134466 LIMIT 1
1 SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (134466) ORDER BY meta_id ASC
1 SELECT * FROM wp_posts WHERE ID = 94767 LIMIT 1
1 SELECT wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 AND ( ( wp_postmeta.meta_key = 'user' AND wp_postmeta.meta_value = '1' ) ) AND wp_posts.post_type = 'staff_record' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
1 SELECT * FROM wp_posts WHERE ID = 34811 LIMIT 1
1 SELECT wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 AND ( ( wp_postmeta.meta_key = 'member_user' AND wp_postmeta.meta_value = '1' ) ) AND wp_posts.post_type = 'member' AND ((wp_posts.post_status = 'publish')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 1
1 SELECT * FROM wp_posts WHERE ID = 51367 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 51368 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 34810 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 34843 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 76594 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 34821 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 35407 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 34819 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 34817 LIMIT 1
1 SELECT * FROM wp_posts WHERE ID = 12371 LIMIT 1