Development Notes

You are viewing an older version of this article from 2018-04-16
Go to current version

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!

You will find this article changing constantly. If a feature or bug suddenly vanishes from this list, it usually means that it weng live :-)

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

3. Project: Battletable 2.0 (40%)

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 is to fully re-create them, to integrate the user system, user collections and to add many more features.

3.1 Info

Logic of substitute finder:
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.

3.2 Open Tasks

- Required breed output:
> if only 1 breed is possible, format so the lone commata is not visible - code marker btbr01
> create tooltip showing all possible breeds and which ones are OK to use, which ones are NOK

- check against collection and output it graphically:
> show owned pets under "Your pet":
If 1: "Yes - HB"
If more: "Yes (2)" with tooltip.

> test if owned pet does NOT meet requirements (breed, level etc.) and output orangy border
> make the border around the whole pet card, not just the lighter part (include column left)
> check if border colors work with every family color background

- Rematch strings
> Store pet IDs and breed strings somewhere hidden for all 3 pets.
> When changing substitute, have the content changed and have the rematch string changed accordingly with the data stored in those hidden fields

- level pet slot

- Star rating tooltip needs a single "star" icon
- An option in user settings to select the priority of strategies, which order is more important, maybe tags to exclude entirely so they never show up?
- strategies pull info from Pets database, need to move to PetsUser and PetsNPC
- URLs in creator text are not formatted correctly https://wow-petguide.com/index.php?Strategy=1218
- Recreate additional info section (see UI draft)
- question mark with breeds to show breed info, which breeds are available for this pet, and which ones you own, if they are verified for this strategy or not and why not.
- add interactivity to above tooltips to rate breeds and gather info from users if a certain breed worked or not
- in case no breed fits the requirements, show some kind of info text about it.
- update print_pettable to use the new logic for substitutes. "Any Fox" etc. doesn't exist anymore then.

3.3 Known Bugs

- Tooltip of favourite button not positioned correctly

3.4 Optional features

- Counter for how many visits a strategy has received
- "My Strategies" page for strat creators. show # visits, comments, votes and favs of own strategies.
- Info section explaining how everything work

3.5 Release plan

- check if functions check_specialpet and get_specialpet are still required and kill them if not
- give every strategy a user as creator
- remove all votes /ratings from strategies
- move all "Any Fox" etc. to direct pets
- remove "Any Fox" etc. entries from PetsUser DB
- thanks to Grainne and Remte and everyone else who helped with the substitute finder
- give thanks to Simca for the breed info from petbattle breed ID
- give thanks to the creator of the pet xp thread for the info: https://www.warcraftpets.com/community/forum/viewtopic.php?t=8829

4. Project: Clever Alternatives (0%)

The strategy alternatives should not have a limit. They should not have a fixed order. The order should be dynamic and follow a logic that could include user settings, pets collected, strategy upvotes, favourits and additional factors.
The interface should use AJAX and give a clearer preview of the pets used.

5. Project: User Strategies (0%)

Users should be able to create and add their own strategies.

6. Project: Pet Cards (0%)

Basically, replace wowhead tooltips with xu-fu pet tooltips that show more value (breeds, stats etc.)

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

8. Miscellaneous Tasks, Bugs and Suggestions

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

8.2 Tasks and To-Dos

- add protocol entries to admin pages
- Petimport - adm_petimport.php:
- check at beginning if user pets are not verified with "cageable or not" and go through them.
- user pets: option to set cageable or not
- Spells: entire API import missing
- 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.

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

10. Finished Projects

10.1 Project: Article Editor (100%)

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.

49 Commenti (IT)

Show first: