^

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
asdf




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


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



Meows#2580

wrote on 2022-01-10 00:19:35

I don't know if I'm the only one experiencing this bug, but alot of times the buttons to copy the rematch string / TD script, doesn't work, i tracked it down to https://code.jquery.com/jquery-2.1.4.min.js not retuning anything 7/10 of the times (with ad blocker off, it will eventually load after 10 or so refreshes, would it be possible to use a different CDN for jquery instead? Never had this jquery issue on other sites, just this site.

https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js

is some alternative CDNs.

Not sure if its related, but I got a dual homed PC, with both IPv4 and IPv6, but something is off using the code from jquery.com, but not the other CDNs.

(edited)

Aranesh

wrote on 2022-05-09 11:41:11

Sorry for late reply. Do you still experience this issue? I host jquery now directly and use cloudflare as CDN.

Toenail

wrote on 2022-02-04 22:49:30

i had a thought about comparing pet collections here. i don't know how hard it would be or if there is even a call for it. I was wondering about being able to sort or somehow easily see the pets that a collection is missing compared to another? if there is a way in the current comparison i am not finding it thanks again for all your work!

edit: i just saw the upcoming project that may be related to my idea. my bad (edited)

Aranesh

wrote on 2022-05-09 11:39:42

Saw this comment way too late - what you ask is already done :D
https://www.wow-petguide.com/Compare

Enjoy!

Barbasol#1361

wrote on 2021-11-29 17:32:05

Hi. Much thanks for this absolutely invaluable site!!! I hope this is an ok place to post a suggestion: Would it be possible for the "pet substitution" thingy to sort by pet level so your level 25 pets show up first? I run into this mostly on the Rabbits and Snails where I have like 16 of them but only 3-4 leveled fully so I have to hit the arrow a dozen times to find a leveled one.
It'd also be helpful to show the pet levels when you have more than 1 pet. So you could tell without hovering if you have all level 1s, or possibly a level 25 in there. I guess for space reasons maybe a level range would work. E.g. "Your pet: 3* (1-25)". Hope that makes sense. Thanks!

Aranesh

wrote on 2021-12-01 06:51:44

Hey!
This is a perfect place to leave feedback and make suggestions ^^

The substitutes were supposed to behave exactly like you say, with pets you have leveled to 25 and rare showing up first, others later. I took a look at that and found a bug that caused this to not work properly. It should be fixed now, have a look please and tell me if that's what you were looking for :)

I could add the level range in brackets as well but don't feel that it's needed because of the color coding. If you have at least one of the duplicates on 25 rare, the bar will be green and that should be enough to do the strategy. Otherwise it's yellow. This also takes into account multiple uses of pets (e.g. a strategy asking for 2 or 3x the same pet).
What do you think, does that do the trick or do you still think the level range would help?

Barbasol#1361

wrote on 2021-12-01 13:20:14

Thanks so much for looking into this!

I'm not always seeing the sorting. For instance, on this one, the rabbits still seem pretty random, with the blue 25s actually being last:
Link

However, on this one with snails, the sorting is better:
Link
The first alternates there for me are rare 25s which is good. Then a 1 green, 6 gray, then 23 white (so kinda random) but then the last 2 are missing which seems correct. Maybe you aren't sorting the non-25s but descending level would be nice as you can then use stones to level or make blue.

I think you are right about the level range not being needed. The color coding (which I didn't exactly realize there) and the level sorting should do the trick!

One last thing: when viewing alternate strategies I'll see Red/yellow for missing/low level pets even when I might have a great substitute. Not sure what to suggest about this. Maybe a checkbox in the Strategy Alternates Browser to show substitutes? Or maybe automatically show substitutes if the specific pet isn't leveled, but with an asterisk in the corner? Not sure what is possible or best but thought I'd mention it. Thanks! (edited)

Barbasol#1361

wrote on 2021-12-01 13:35:10

Looking more... maybe it's just the rabbits that aren't putting 25s first? Everything else does indeed seem to be putting the 25s as the first substitutes. (A full descending level sort would be best but maybe that adds more server load.)

Edit: Well this one does rabbits fine, but others still seem off:
https://www.wow-petguide.com/Strategy/4455/Crab_People-Critter (edited)

Aranesh

wrote on 2021-12-02 06:01:53

I've had another look and you're right. The sorting works now but only takes into consideration if you A) have the pet in rare 25, B) have the pet but it's not 25 rare or C) do not have the pet.
All pets in category B) are in a random order, meaning sometimes level 1 pets come before level 25 because both are not rare quality.
I'll see if I can optimize that to prioritize lvl 25 pets to be first there :)

EDIT: Done, better now?

-------

Substitues for alternatives are a very tricky topic.
I can't add that by default, because substitutes are in most cases no perfect match. For example, a creator might select a HS breed pet because it needs exactly >280 speed. A substitute with HS breed might only have 278 speed, making the strategy always fail. From the information the creator gives me (this pet in HS), I can't know what speed *exactly* is needed and which substitutes would need to be excluded.

This would be solved by strategy creators adding hard requirements (>280 speed instead of "HS breed") but most don't do that, or even know the exact requirement.

I see two options to improve this:
- Check if substitute pets are *exactly* the same. Not the case very often, some rabbits, snakes and so on but as long as they have really exactly the same stats, no problem. The sub finder currently doesn't do that
- An advanced setting as you suggest to regulate how strict/lenient the sub finder is. Something that likely not many would use :D

Both are... quite heavy in dev time so I haven't really dabbled with that, so far :S (edited)

Barbasol#1361

wrote on 2021-12-03 12:43:20

I'm really loving even just seeing the 25s first!!! Great improvement. I'm still getting some weirdness... like the first link above still has two blue 25s almost last for some reason (Olivetail Hare, Tolai Hare Pup) but in most other places I've looked those two correctly sort first. While I still think descending level order is ideal, it's certainly good enough now!

And it does seem to favor descending level order a lot of the time. I've been doing Family Familiar where leveling is possible and it's very satisfying to pick an alternate lvl 23 pet and still have it work (though it is risky... most reliable for the 3rd slot pet). A lot easier now.

I appreciate your thoughts on substitutes. Dev time vs usefulness is very understandable! The sub finder seems to already classify subs as green/yellow (based on abilities/speed I assume). I would say just tapping into that is good enough. Just to be able to see that when viewing all strats at once to know which ones already have green subs available. But dev time is always a consideration.

Thanks again for all your work!

Wh15k3y_ wrote on 2020-09-27 08:35:36

when i try to login, no window appears. just all screen faded. how can i login now?

Aranesh

wrote on 2020-09-27 15:50:00

There was an error on the webpage. It should be all back to normal now. Sorry for that!

Wh15k3y_ wrote on 2020-11-30 10:15:49

it comes back again. (but on my other pc it works fine, even they has the same version of Chrome) :(

Aranesh

wrote on 2020-11-30 12:08:07

Hey! In another comment area someone found out that adblockers cause this. No idea why because the script I'm using for these overlays is usually well accepted :-(
Best I can offer is trying without adblocker on the page and if that works it, perhaps just whitelist the page. When you are logged in, 99% of the ads are hidden anyway.

Beardsly wrote on 2020-09-07 09:52:02

Forgive me if I missed it, Will there be a Rematch and TDbattle scripts functional during Prepatch/Shadowlands? While I see mass exporting isn't a thing, will there at least be a functional addon to put in the updated strats? Thank you for all that you do.

Shenk

wrote on 2020-09-07 11:39:24

there already is a version for rematch working in SL. tdscript is being worked on

Aranesh

wrote on 2020-09-07 13:57:52

The Mass Rematch tool mentioned here is not going to happen before Shadowlands, but there is a mass rematch export already possible for each section :)
Just go to a section and hit the blue Load Pet Table button - once loaded, a rematch export button is available

Thoizor

wrote on 2020-06-20 15:10:06

My collection doesn't get updated properly. Here it says I have 539 pets at max level, and 25 uncommon pets, while when checking my collection on warcraftpets website it tells me I have 555 at max level and 18 uncommon pets. Any idea why it's like this? I use the same char for updating both profiles.

EDIT: Am leveling battle pets atm, so the numbers mentioned above are no longer correct. There does remain a difference of 16 pets at max level between both sites, as well as a difference of 7 uncommon pets. (edited)

CoJo

wrote on 2020-06-17 15:30:25

The hyperlinks to the legion quests in the new Powerleveling widget don't work.

Aranesh

wrote on 2020-06-17 16:05:34

Working for me, which one exactly and where does it lead you to?

Gráinne

wrote on 2020-06-17 16:27:30

I get

Sir Galveston https://wow-petguide.com/8361
Jarrun https://wow-petguide.com/5043

Ahhh. US vs EU.

I had the US page up when I saw those. On EU I get the right pages. (edited)

CoJo

wrote on 2020-06-17 19:27:31

Any link from the widget sends me to what appears to be a 404 page in German. Would also like to mention that last night, the widget's date was off as well for me. It was showing the date as the 17th when it was still the 16th here in the US. As Grainne said, it probably has problems between EU/US.

Aranesh

wrote on 2020-06-18 04:44:40

Aaah found it!
Both of these should be fixed now :) Thanks for bringing it up!

WalkingDead11

wrote on 2020-04-03 23:18:25

love the site and want to submit my bug report. I am not sure where to post this bug report so this post might need to be moved or removed. Here is my problem: When I am looking at a strategy on my touch screen device, in Google Chrome for Android 80.0.3987.162 and click on the alternatives. A menu comes up, but if there are too many alternatives on the menu I cannot scroll down the list. If I try to scroll down it reacts to the first touch and immediately closes the menu even if I press directly on the scroll bar. It does the same thing even if I request the desktop site version in my browser.Very annoying because I cannot see all the alternatives. Thank you. (edited)

Aranesh

wrote on 2020-04-04 05:59:20

Hey! Absolutely the right place for this type of feedback :)

The sad but simple answer, though, is: There is no mobile version of the page. It was never designed to support mobile :/ I try to make tweaks here and there but lack the knowledge (and time) to make it really mobile friendly.
I'll log a bug ticket for me to look into the alternatives tab a bit more, maybe I can come up with a solution. Thanks for reporting it and sorry I don't have a better answer for you!

Shenk

wrote on 2020-04-04 10:00:40

it's not like i haven't annoyed him before with it. glad i'm not the only one now ;)

Gráinne

wrote on 2020-04-04 10:52:29

I'm honestly bemused by requests for mobile-friendliness in this context.

The only time these strats are useful is when you are actually at your PC. Why would people use a mobile browser when sitting at their keyboard? What's the condition I'm not seeing?

Shenk

wrote on 2020-04-04 12:36:38

changing/working on your strategies and strategy curating in general

DragonsAfterDark

wrote on 2020-04-04 15:31:16

Some people also don't like to alt + tab if they only have one monitor. I know for me, half the time I don't remember what I was looking at when I move to a different screen. Imagine trying to do some of the strats on here, and alt-tabbing for each step.

Shenk

wrote on 2020-04-04 16:25:05

ok boomer

Gráinne

wrote on 2020-04-04 16:25:25

I don't have to imagine; that's what I do when I'm checking a strat out. (I really should bring down my second monitor and find the adaptor and set it up again.) What I can't imagine is the awkwardness of trying to use a phone screen instead. But OK, if people do that, then they do, I guess.

Shenk

wrote on 2020-04-04 16:31:46

when i'm not at home during the week (which is usually the case if not for the current quarantine stuff) and not always have access to a pc or tablet i'm sometimes forced to do strategy reworking on my phone... and that really isn't pleasant at all

Aranesh

wrote on 2020-04-05 04:26:07

Only thing I can say to that is: Sorry!
I'm in the very, very early stages of learning how to do mobile friendliness :/

Blocky

wrote on 2020-01-14 06:28:50

Hi, are you aware of a bug that is effecting the site's Export Team feature? The error message below seems to be injecting itself into the export, also every line now includes a BR HTML tag in addition to newline markup tag.

Error messages:

This error message: "Use of undefined constant language - assumed 'language' (this will throw an Error in a future version of PHP) in /kunden/426045_85652/webseiten/Petguide/classes/ajax/bt_rmsteps.php on line 152

This error message: "Use of undefined constant language - assumed 'language' (this will throw an Error in a future version of PHP) in /kunden/426045_85652/webseiten/Petguide/classes/ajax/bt_rmsteps.php on line 179

Aranesh

wrote on 2020-01-15 03:42:26

This should be fixed, thanks for the heads-up!

Blocky

wrote on 2020-01-16 16:03:37

Yes it is fixed, hurrah! You are amazing!

Aranesh

wrote on 2020-01-17 11:48:08

<3

JestersTear

wrote on 2019-12-05 03:21:42

I don't know if something like this is possible, but a suggestion -

For the pet dungeons, instead of just spitting out the optimal strategy for each encounter based on our pet list, make a dungeon optimal strategy list all at once? What I mean is I look up, let's say, Gnomeregon, and it tells me for optimal strategies to use the same pet in 5 fights. Maybe something where it starts at the last fight and works backwards, so your best pets are used for the last fight (let's say it's fight #10), then it goes back to fight 9 and looks for an optimal strategy that doesn't use the 3 pets you'll be using in the final fight unless you have 2+ of one of them. This way you don't get to fight 8 and it says to use Ikky, but all 3 are either dead or too wounded from fights 2, 4 and 5 to be used again.
(edited)

Aranesh

wrote on 2019-12-05 13:17:43

Hey JestersTear!

That's definitely planned :) It's currenty listed as "Upcoming Project: New Dungeon Tool" and what you are suggesting is *exactly* what I'm planning to do ^^
Hope I'll be through this current database rework soon so I can jump on cooler stuff like this one.
Thanks for the suggestion! If you have any other ideas, always happy to hear them

JestersTear

wrote on 2019-12-05 16:25:54

Thanks, your hard work is definitely appreciated!

ZoroarkRonan

wrote on 2019-09-07 21:36:11

i have a question. when i was looking at my strat it said OP what does that mean?

Gráinne

wrote on 2019-09-07 21:37:24

OP = Original Poster, which as the poster of the strat, refers to you.

ragath

wrote on 2019-05-20 14:15:45

I would suggest GitHub or GitLab for maintaining and developing this project. These 2 tools are no overkil for this "small project" as you called it in the beginning. Both offer free code versioning for private repositories, Issue Tracking and more. Personally I prefer GitLab as it has more features.

Aranesh

wrote on 2019-05-21 05:31:12

Hey ragath!
I know about both and what they do, but have never used them to work on a software product. I'm very much a novice in this field and in the creation of this page I made many mistakes that make it very hard to move it to a repository, mostly security details (hardcoded passwords yay!). The effort to make everything ready for such a move is probably quite high, and a big unknown to me. So it's part not wanting to invest the time and part not wanting people to see the code behind this page that keeps me from doing it ^^'

ragath

wrote on 2019-05-21 20:15:48

I'm a professional software developer and I work with GitHub everyday. So in case you are interested in learnig how to get to a "new Level" I could give you some tips. With private repositories your code is not public and not visible to others. In case of hard-coded passwords and stuff there are simple methods how to handle it, e.g. using .env files or simple array files. But I also understand that it's a bit of work to migrate this project to GitLab etc

shybobcat

wrote on 2019-03-20 01:40:39

I’d like to report a bug, hope this is the right place. A linked group of similar crabs, starting with Kelp Scuttler, does not have their abilities aligned. For example, if the Kelp Scuttler is listed with the skills 1 1 2, when you scroll through the rest of the group, they are all listed as skills 2 2 2, while they should be the same as the first one. You can see it in this strategy:

https://www.wow-petguide.com/index.php?Strategy=1352

Would also like to add that this site is amazing! I’m very impressed with both how it looks and especially how well done the coding behind it! Thank you!

Remte

wrote on 2019-03-20 02:58:56

Thank you for your kind words :)
I reuploaded the pet and told our master tinkerer, and it seems it's okay now. Hopefully it was not a signal of something more severe ^^

shybobcat

wrote on 2019-03-20 19:45:07

Thank you for a quick fix! It works fine now :)

Ekire

wrote on 2018-12-28 12:53:36

Wondering - now that they changed the way pet battles work, would it be doable to add the pet trainer names in brackets beside the quest name? Not everyone knows the WQ name if it isnt up, but the trainer name is easy to reference.

Ekire

wrote on 2018-12-30 11:43:38

Meaning stuff like Family Battler - IE: Zuldazar quest for "Small Beginnings" - Show it as either "Zujai - Small Beginnings", or "Small Beginnings (Zujai)"

Remte

wrote on 2018-12-06 14:30:06

Not too soon: To avoid duplicates, any achievement-specific (Plushie, Family and as it was suggested The Longest Day) strategy could be automatically linked in the "global" encounter list (still redirecting to family section after clicking). To prevent clutter, they could be displayed only via user input to show more.
If this is not worth it, just expand the duplicate warning to all sections of the page… though it could be problem when someone decides to apply a strat the other way i.e. from globals to specific ones :P

Seira

wrote on 2018-10-16 08:14:47

I love the "Incl. Steps" toggle. if somehow "Incl. TD Script" would be possible, my life would be almost complete :)

gsanta

wrote on 2018-10-20 06:51:03

I was flipping this back and forth to see what changed and didn't notice anything. What does the Incl. Steps toggle do?

Seira

wrote on 2018-10-21 06:53:45

On the website, you can see the steps it takes to defeat the tamer. If you flip this before importing the Team into the game, you will see these steps in pet battle (in a note)

New Comment:





































Name:

Link: