Development Notes

1. Introduction

Over the years of developing Xu-Fu's Pet Guide, many ideas and suggestions accumulated. I have tried a few different tools like Trello or even Confluence to keep track of them together with my development notes, but these tools are way too clunky for this small project. And they all lack transparency.
This section aims to solve both problems: all my notes in one place, and making them visible to you, the hopefully curious reader!

2. Backlog:

I am currently working through a lot of my backlog tasks. Here's the full list of items to do (or at least consider). Completed items will vanish from this list :D

2.1 Next Up:

- TASK PRIO 3: Detail Strat check stopped at ID 720
- TASK PRIO 3: battletable, show skills as icons and not as numbers (suggested by Ennit)
- TASK PRIO 2: panel ideas from news comment by Tirgatt
- TASK PRIO 2: Panel idea from Shenk: Related youtube videos
- TASK PRIO 3: "hide my collection in leaderboard" option in settings?
- TASK PRIO 3: suggestion shenk: new comments panel to only show new comments per user, not the actual ones (those that have not been seen, yet)
- BUG PRIO 3: Changing comment sorting redirects incorrectly (home page)

2.2 Localization Restructure:

- script to create new structured PO files
- maintenance and rework all gettext _(
- Get open-source status with poeditor

2.3 Open but blocked tasks from API Migration

- Spell importing full rework (API not ready)
- NPC ID manual entry form + ajax
- TASK PRIO 2: icon picker profile - char avatars - insert new API
- profile - change of region and grabbing of wow characters: option to select which character to link via bnet!

2.4 Rest of backlog:

- BUG PRIO 1: Translation tool for fight names currently overwrites work of others => Version history + warning if changes were made
- TASK PRIO 2: internal notes - notification for curators ("admin (2)" ) - how? where?
- TASK PRIO 3: go through all old news entries and sort them into the categories, small/main and fix formatting
- TASK PRIO 3: Make comments of all languages visible in strategies
- TASK PRIO 3: article editor - expandable text blocks
- TASK PRIO 3: Tags menu has icons with descriptions. It would be nice if these icons where clickable to toggle icons on and off
- TASK PRIO 3: some comments of unregistered users have icons that don't exist anymore (why!?) - check, write a script and fix them

- SUGGESTION By Irayna: Add XP Values to link list on left (like EU/US appearances of Menagerie). To see which fights give more XP than usual (espcially for legion world quests)
- SUGGESTION By Flatluigi: 21.03.2018: minor sort of request: for the pets that don't have a level/can't battle, take them out of the calculations for number of pets at max level/at rare quality
- SUGGESTION By Remte: I'd like to have fresh comment responses notifications cleared out when I visit them independently.
- SUGGESTION By Panseit: message system, put an icon next to the user profile icon when new messages are there.
- SUGGESTION By Remte: Allowing non-family substitutes in non-specific fights
- SUGGESTION By Darkgroob: Longest day achievement in an article with links to the individual fights
- SUGGESTION By Ragath: Refactor the fight selection menu and include additional info, such as XP values or "Repeatable" fight

3. Current Project: Database Restructure (10%)

The database supporting Xu-Fu's different categories and menus is very old and is not set up properly. It is very difficult to create features with it, like for example the possibilty to move strategies, or some of the other future projects here including rematch mass export or a new ready-check tool.

3.1 Tasks:

- DONE: Go through all categories and create database structure list
- DONE: Setup new database, fill with dummy data
- Create admin section
=> DONE display hidden / active
=> DONE toggle hidden / active button
=> DONE Create item funcitonality (hidden by default)
=> DONE editing view (reload, show full page, all fields editable - leave Family Fighter options and Access Rights out for now)
=> Delete item
=> apostrophe's in display (stripslashes missing?)
- recreate current menu with the new tool

= Branch =

- Create new top-menu UI
- Hook top menu into new DB
=> 3 levels
=> visible / not visible / access rights ?
=> Different types

- fix Family fights, no idea yet, how
- Create DB for subs
- Create admin area for subs
- hook up new subs db
- move everything else (eek!)

Keyword. TOP2

4. Upcoming Project: New Ready-Check Tool (0%)

The Legion Ready Checker was one of the most popular tools on Xu-Fu. The addition of user strategies and breeds made this tool non-functional. To bring this back, a new tool showing the list of ALL pets could be created, showing how often the pet appears in each fight, broken down by breed. This could automatically cross-check with the saved collection. In a second step, a selector or sliders could be used to apply the table only on specific battling sections.

5. Upcoming Project: New Pet Tables in Articles (0%)

Every category article (like "Legion world quests") has a table on it that shows the required pets. This table is not using the new alternatives system and is therefore outdated.
This project is to create a new table that picks the best strategy for each fight in the category, based on the same criteria as the alternatives tooltip (favourite, ratings, tags..) and lists those pets. This should also include required or missing breeds. The table will most likely have a longer loading time and should therefore be hidden behind a "Load Pet Table" button that dynamically loads the table only on request.
Suggestion by Remte: tooltip showing which battles the pet appears in, make this interactable and the list of fights clickable to the respective strategy page

6. Upcoming Project: Rematch Mass Export (0%)

One of the most requested features is to mass export strategies to Rematch. Rematch can already import multiple strategies at once, but XuFu currently has no such export feature. That is mostly due to the existance of alternatives. Until user strategies and favourites, the page had no way of knowing which strategy is the best for you. This new tool will make use of those features and give you options from which section you cant to export strategies from, and if only your favourites or also the top pick for you should be exported.

7. Upcoming Project: New Dungeon Tool (0%)

Due to Teroclaw-Hatchling changes, the hardmode guides for Wailing Critters and Deadmines have been removed. Also, because of the addition of user strategies, the Celestial Tournament Planner is not working anymore. A new tool should be created that can be applied to any of the dungeons and to find the optimal strategies based on user collection for non-healing dungeons.

8. Upcoming Project: Pet Cards (0%)

Xu-Fu already has a database of all available pets with their skills, stats and additional info. This could be used to replace wowhead tooltips with built-in Xu-Fu pet tooltips that show more details about each pet, reduce loading times and give additional value to the tooltips.
Additional idea with it: Capture source of pets more clearly. Where are pets coming from? Add more tags as well that go along with it: Premium (for pets like baby winston - not in the shop but was a bought pet technically). Seasonal => Only available during specific seasonal events.

9. Upcoming Project: Pet Trading Tool (0%)

A tool that combines a couple of ideas and suggestions - compare collections between users or look for people who have duplicates of pets you are missing. Ideas from:
Irayna: When viewing other peoples collection, add a column for your own pets to compare the collections.
Grainne: A tool similar to Rufa's tables http://web.archive.org/web/20150405233814/http://signature.neflin.net/wowpets/pets.php

10. Additional possible future projects

- hyperlink preview texts and images
- comment-section: show more info about the threads in tooltip? maybe the top comment + 2 or 3 additional ones with [..] and a "X more messages" ?
- comment-section: for "Votes", maybe add together all votes from the thread from your comments? Otherwise a +50 subcomment might be hidden because it's not the first one
- Email notifications
- Tools: Top X pets from all strategies
- "Your profile has been viewed X times.."
- Add friend (what effects?)
- user setting how many comments to display per page (currently set site wide)
- better brute force protection (pw reset)
- rework all tooltips to use tooltipster
- comment moderation features directly on page, including display of reports
- allow bnet connected accounts to unlink from bnet
- comment statistics (how many, how often per month, average upvotes etc.)
- article about fun stuff with pets, what they can do:
der stinker und eine schwarze katze spielen warner bros. nach
katzen können sich auf deinen schoß setzen
bäume trinken wasser, wenn sie nahe dran sind
der schreckliche oozling gibt dir einen kosmetischen debuff...

11. Finished Projects

11.1 Current Project: News 2.0 (finished October 18, 2019)

The news section now supports different topics and different users posting news. It shows a quick overview and is more easily searchable. Articles can be edited with the article editor for news writers and each article opens up in a separate page showing the full view + comments.

11.2 Project: Article Editor (finished April 16, 2018)

The page hosts many different articles and supports localization into 9 languages. This editor makes it easy for other users to add, edit or translate articles.
It is fully integrated into the user system, UAC, and allows on-page editing.

11.3 Project: Battletable 2.0 (finished June 02, 2018)

The battle tables were the first thing created on Xu-Fu. They are mostly static and not up to the standards of the current page.
This project was to fully re-create them, to integrate the user system, user collections and to add many more features such as breeds, coordinates, new Rematch formatting, an automated substitute finder and the option to record your attempts to make the strategy more accurate through crowd intelligence.

The substitute finder uses this logic:
no requirements => all substitutes are fine, based on skills and family
only a breed => creator pet, only show the selected breed(s). For substitutes, ignore breeds
only a stat => use the stat to determine which creator pet breed is OK. and use the stat for substitutes and their breeds
breed and stats => for the creators pet, only show the breed he activated. for substitutes, use the stat to show them or not.

11.4 Project: Dynamic Alternatives (finished July 01, 2018)

There should not be a limit to the amount of alternatives saved for any given fight. They should not have a fixed order either. The order should be dynamic and follow a logic that could include user settings, if the pets are in your collection, strategy upvotes, favourites, amount of pageviews, records of successful attempts or other factors.
The interface should use AJAX to reduce loading times and give a clear preview of the pets used.

The order in which strategies are shown is determined by 4 factors. Each factor supercedes the next. From top to bottom:

1. Favourited by user
If you set a strategy as favourite, it will be shown on top always

2. Pets missing from collection
The sorting will prioritize based on how many pets from the strategy you do not have in your saved collection:
No pets missing > one pet missing > two pets missing > three pets missing

3. Tags - optional
In the user settings, you can set the order of importance for all tags. Preferred tags move the strategy up, unfavored tags move it down in priority.

4. Rating and Favourites
Ratings and Favourites are calculated together into one single score. The calculation is:
- One favourite counts exactly the same as one 5* rating
- The stars are transformed into the numerical sequence -2, -1, 0, 1, 2
- The average is calculated and multiplied by a factor that is determined on the amount of votes+ratings:
1-10 ratings: Factor = 0.5
11-20 ratings: Factor = 0.8
20+ ratings: Factor = 1
This calculation makes sure that a single 5* vote on a strategy is not counted more important than an average of 4.8* from a large amount of voters, for example.
Likewise, a strategy that received many below average votes will be considered worse than one that received only a single 1* rating.

The first three factors only apply to registered users. If you are visiting without a user account, only factor 4 decides the sorting.

11.5 Project: User Strategies (finished August 01, 2018)

Users should be able to add and edit their own strategies. The editing options should be integrated into the Battletables without adding more pages. Most if not all options should be dynamic using AJAX to minimize page reloading.

14 Commentaires (FR)

Show first: