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. Important clean-up tasks:

The recent releases created a bit of a backlog that I have to go through in order to make everything work well together again. Most of the other features will be pushed back until at least the highly important tasks from this list are done.

2.1 High importance

- translation of instructions must be moved to new system and implemented (see translate_turn)
- "My Strategies" page for strat creators. show # visits, comments, votes and favs of own strategies.
=> When deleting a comment, check in the strategy if this comment was in the "new" list and remove it from there

2.2 Medium importance

- collection viewer - Zoom makes problem, see message from sistercoyote - sometimes wrong level?
- Detail Strat check stopped at ID 40
- update pet collection import to use PetUser instead of Pets table
- Rework the pet tables with required pets of main articles. Only a button to show table - then via Ajax load table into page. Use intelligent pet check to create list of strategies and the pets including links.
- Pop-Out to use new system as well.
- translation for "swap to your Family x"
- Sanity checking of entered strategies - if there are stats required, check if there are any breeds that can even have these stats and if not - open up modal window and give warning message. Once this is added, also move the checking and entering of breed tag to strat_process instead of battletable2 (look for "tagsupdate")
- check on rematch functionality. can minimum health req for level pet be moved into rematch strings?

2.3 Low importance

- add tag - "Unobtainable Pet" - and mark all pets as unobtainable that are... not obtainable anymore! Suggestion by Jedikitten
- Notifications for comments posted on your own strategies
- make your comments on your own strategies highlighted. text "strategy creator" next to the name or "OP" or different color
- Notification on login once or so if you have an unpublished strategies that it's unpublished, and if you would like to review + publish it now
- give creator comment moderation rights on their own strategies
- Petimport - adm_petimport.php:
- user pets: option to edit cageable / shop / TCG
- battle tag in user profiles needs EU / US switch
- my comments section sometimes does not filter the comments correctly
- option to claim old comments
- crawl of pet collection: if a character is saved, use that one. If that saved char is not available anymore, crawl all characters from bnet again and pick most recently active one and save that one.
- make pet administration so that "non combat" can be set as well
- oh ominitron has the wrong NPC pets
- In alternatives sorting, Tags are higher rated than Ratings - swap it around?
- for strategy creators, provide a more detailed breakdown of User Attempt Records in tooltips

3. Suggestions

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)
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
By Remte: I'd like to have fresh comment responses notifications cleared out when I visit them independently.
By Panseit: message system, put an icon next to the user profile icon when new messages are there.
By Irayna: When viewing other peoples collection, add a column for your own pets to compare the collections.
By Remte: A notice on the landing page when Squirt day is up on EU or US with a quick link
By Prudentius: Setting for each user to have child comments sort ASC or DESC (depending on preference)
By Remte: When substitute finder is used, the description of the fight changes pets aswell.
By Remte: Allowing non-family substitutes in non-specific fights
By Darkgroob: Longest day achievement in an article with links to the individual fights
==> Rematch to include strategy steps
==> option in user settings to download rematch strings of all favourite strategies
==> tool suggestion - compare pets and see what duplicates could be traded between them
By Grainne: A tool similar to Rufa's tables http://web.archive.org/web/20150405233814/http://signature.neflin.net/wowpets/pets.php

4. Known Bugs

- Wailing Critters => Pet table when not logged in shows different pets than when logged in. Why!?
- PO file on Home.php => title for "Article creators" is hardcoded
- message when comment reaches gold status working or not?
- gold comment trigger will trigger email in the language of that person who made the deciding upvote. Not the person who made the comment. com_vote in ajax
- in profiles, btag and discord can be way too long. needs a way to display it properly
- comment previews on landing page show an incorrect time (yesterdays comments are shown as today)
- article editor: when editing an article that is restricted to only ENglish and your own language is not english, it saves info into the localized part nevertheless and does not default to the EN version

5. Upcoming Project: Pet Cards (0%)

Xu-Fu already has a database of all available pets with their skills, stats and info. This could be used to replace wowhead tooltips with built-in Xu-Fu pet tooltips that show more details about each pet.

6. Upcoming Project: Blog 2.0 (0%)

The blog should support different topics and different users posting updates. The blog should be sortable by topic / date. It should show a quick overview and should be searchable. There should be the option to go to a single blog post and view that in full screen.

7. Possible Future Projects

- 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 of all strategies
- "Your profile has been viewed X times."
- Add friend (what effects?)
- specific user icons and backgrounds for admins / mods /translators
- sticky comments
- 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.)
- Flavour growls:
"your collection was updated and you got these new pets in the last week!"
after X days of registration, still no password / battle.net connected - send reminder message "hey do this for x"

- 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...

- article about pvp pet brawler, split by family, suggested teams etc.

8. Finished Projects

8.1 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.

8.2 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.

8.3 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.

8.4 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.

2 Comments (EN)

Show first:

You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 07/27/2018

Not sure where to put suggestions but here's mine.

Allow users to link pets when typing comments so you could use your links you want for wowhead on your own site as well. Also the links would allow you to say prevent people from link beast pets on the Aquatic Assault page etc. Additionally, it could eventually even help you import strategies from comments.
You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 07/28/2018

Hey :) Thanks a lot for the suggestion. That is planned as part of the "Pet Cards" project. At the same time I will most likely add a "mention" feature, like on many other platforms, where you put an @ and start typing a username and can then select a name to be mentioned and they get a ping about it.
You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 07/30/2018

Sounds perfect!
You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 05/11/2018


Just wondering how Battletable 2.0 is coming along. Looking forward to the new features and hadn't seen any noticeable updates on this Development Notes page lately. Thanks for all the team's great work on the site. I love it.
You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 05/15/2018

Hey :)
There are smaller changes here and there. I did put it to 70% completed recently because the main parts are done, and I think that's a fair estimate :D There's only some minor additions missing like a system for tags, or the coordinates of tamers. I'm getting there! Outside of weekends I barely find the time to work on it nowadays, unfortunately. But I think at least this part will be ready well before BfA comes out.
You must be logged in to vote on comments


You must be logged in to vote on comments

wrote on 05/15/2018

Great to hear. Thanks for the update. Shortly after I posted this you posted a new blog entry with the updates, but thanks for the reply.