Year of the Dragon: Through April 23rd, claim the adventure pack Slice of Life for free! Speak to Xatheral in the Hall of Heroes.

Game mechanicsNewbie guideIn developmentDDO StoreSocial Media


ChallengesClassesCollectablesCraftingEnhancementsEpic DestiniesFavorFeats

GlossaryItemsMapsMonstersPlacesQuestsRacesReincarnationSkillsSpells


Please create an account or log in to build a reputation and unlock more editing privileges, and then visit DDO wiki's IRC Chat/Discord if you need any help!

User talk:JJMC89/2018/2

From DDO wiki
Jump to navigation Jump to search
User page
Talk page
User contributions

Substitution of quest templates[edit]

Hi, I see the comment about not substituting those templates. Question is why. I thought that this was the best way to protect those history pages from any future template updates. And by future I mean:

  • Getting bestower and npc dynamically from NPC pages.
  • Having reaper levels and experience
  • Perhaps getting traps dynamically
  • Adding new sections for the completed journal entry of a quest.

...and a bunch of other stuff that one could think. Those quests are History and therefore won't be updated (noone cares or knows the extra information to update it) and I fear that they may lose information they currently have (for example with the addition of Monsters to the {{Quest}} template, many quests lost their recorded monsters and there is still much work to be done to recover them).

So, 1 solution I could see was to make a copy of the templates before a major update (and keep something like a version history), but that would be a hassle to maintain and find which quests need which template and linking the template versions together. So, I thought I should eliminate the template dependency altogether and directly substitute the 2 major templates (I don't really fear the rest of the templates changing).

Can you explain why I shouldn't do that? And if I shouldn't, what is the better way to protect History pages from losing more information? Thanks Faltout (ContribsMessage) 04:42, April 1, 2018 (EDT)

We don't subst them because of the amount of code that gets placed in the page. There is no good way to handle pages that don't or can't be updated when a template like {{Quest}} gets changed. If an when Quest is changed then maybe it could be subst if all of the extraneous code was removed. If {{MissionInfoBox}} isn't being changed then it wouldn't need to be subst at all. Adding new things should not have any impact on current transclusions. Getting things dynamically should only happen if the relevant parameter is not specified. — Zav 02:17, April 3, 2018 (EDT)
What is wrong with a large amount of useless code beeing placed on a History page? Since it's a History page, noone is going to update it anyway and as such noone would ever see the useless code. Even in the case of someone wanting to update the page, they could simply undo the last subst edits and edit a readable code.
Adding new things should not have any impact on current transclusions. Well, that's currently not the case and I don't see how this is possible. Half of the {{Quest}} template's parameters are there for backwards compatibility and this is forcing new templates being developed to apply this backwards compatibility. For example, {{{xp}}} was deprecated but still exists in the code. This forced the creation of this template of mine User:Faltout/SandBox/Casualxp extractor to get casual xp instead of simply taking it from the parameter {{{casual}}}. In addition to that, the template itself is very complicated in its attempts to be backwards compatible and often that leads to errors. Finally, every company that releases new code stops support for the last versions of code. Programs that worked with Windows 95 do not work with Windows 7. Programs that worked with Windows XP do not work with Windows 10. Webpages that used Unity Web player will not work in any recent browser version. Old browsers like IE will not be able to display most web pages due to the amount of work a webpage needs to do to be backwards compatible.
Getting things dynamically should only happen if the relevant parameter is not specified. But that's not what "dynamically" means. "dynamically" is not another word for "default value". "dynamically" means that the relevant parameter does not even need to be specified because it will either be the same as the dynamically generated content, or the generated content will be more up to date. Again, this currently does not happen. {{Monsters in quest}} will override any monster parameter in a quest page. While I think that instead monster pages should be populated from quests and not the other way around, I agree that dynamic content has more than what is provided by the parameters in the page. Faltout (ContribsMessage) 04:35, April 3, 2018 (EDT)
  • History pages are edited more than you might think. Templates eliminate redundant code and unlike the MediaWiki project sites, we do have a very limited amount of resources. Going through and subst:ing such a large template on a whole bunch of pages is a waste of bits. You can't just "undo" an edit in the scope of resources, as every edit lives in the change log. New parameters added to existing templates attempt to focus toward backwards compatibility and where that's not logical or feasible, they should have a good default fallback option to not affect pages that aren't directly affected by them. There is certainly room for improvement on most of the templates on this wiki, and no-one would complain if you worked on it in the appropriate sandboxes and collaborated with the other editors on it.
    Creating redundant templates and insisting they'll be used because you don't like the way things the existing editors have done things for the last 8 or 9 years since the wiki came back online is more likely to get you blocked than anything.
    Your {{Journal entry}} template in all actuality should be used for journal entries (think Messages from Elminster ) instead of quest pages. The quest template should certainly be adjusted to work for the non-favor, non-exp, tutorial style quests, but they should not have their own template. |xp= is not deprecated, it's still in use on some quest pages such as Legendary Hound of Xoriat for example.
    You make a pointed case for {{Monsters in quest}} overriding |monster=, which is true and is working as I intended. The purpose of that was to encourage people into going through and making sure that the monster pages were correctly populated for all habitats. If you don't see a monster list on a page, make sure that {{Monsters in quest}} is on [[:Category:Monsters in <quest>|]]  and that each monster in the quest (exists and) has |habitat#=<quest> on it. You can get a full, often incorrect list of monsters in a quest in those circumstances by editing the quest page and looking what's currently in the |monsters= section - I recommend copying that section to the talk page, hitting show preview, and opening all of the pages in one shot by [ctrl]-[right click] or [middle click] and then just copy and paste the habitat line to each one (you may have to change the number on a couple before saving). The goal is that once Quest pages needing update  is cleaned out (currently at 100% done), then the |monsters= parameter could be again used for special use cases.
    While you're at it, feel free to make sure the objectives and optionals are properly listed and any other information is corrected as time permits (I often fix all kinds of typos and spelling errors as I go through).  👟 ShoeMaker (Contribs • Message) 👟 11:10, April 3, 2018 (EDT)
...unlike the MediaWiki project sites, we do have a very limited amount of resources, as every edit lives in the change log. I wasn't expecting such an answer. Here are my responses in order:
  1. If there is a storage issue with ddowiki, the first thing one should do would be to delete unwanted pages and revisions such as deleted revisions/pages. If those revisions have already been deleted, then one should examine the possibility of deleting oldest revisions from the database. Something like "For each page, go 100 revisions back and delete any revision with a timestamp less than the 100th revision". This is possible by taking this script [1] and modifying it to start from Nth revision. (probably using [2] to go up the tree) If this is beyond Xevo's coding capabilities, perhaps admins could manually search for pages with an excessive size of revisions and delete some of them.
  2. If the above are not enough, there should be a message to all editors to search and destroy useless pages. There must be hundreds of useless pages in the wiki right now.
  3. If the above are not enough, there should be another message to all editors about the limits of the wiki and how editing a page affects those limits. What is the best editing practice.
But certainly, wiki storage limits should not be mentioned out of the blue to support bad editing practices like creation of mega-templates.
Now, on to the point: From what I see by visiting random History pages, the only edits made after the page becoming History are U:Kobold sneak edits to update templates and add other maintenance templates. Surely, removing any template maintenance from those pages by subsituting template code would also remove the need of bots editing the page and creating more revisions. Also, don't forget that the history pages using templates prone to updates are limited. Basically only quest or npc pages. Faltout (ContribsMessage) 14:34, April 3, 2018 (EDT)
  • I don't think you understand what "deletion" is on MediaWiki. On MediaWiki, nothing is every really "deleted" in a way that frees up any space or resources. Instead, a new copy of the page is created and the "deleted" flag is added which hides the page or revision from anyone without proper permissions to be able to see "deleted" content. Deletion, in fact, makes the resource issue worse instead of better. Also, no, I don't think it would be wise to ask Xevo to go through and start nuking things directly from the DB - that's a very time expensive project and there's no reason to do it just so you can subst: templates that shouldn't ever be subst:.
I've personally edited history pages based on old forum posts or old YouTube videos of DDOcast or whatnot. The ability to edit those pages is not gone, and unless you're suggesting we do away with all the history pages so they no longer need to be maintained - which would reduce the potential for using more space on wiki, then I'd suggest we leave them just as they are and not substitute large templates on them in any state. We also don't need multiple duplicate templates to show what the page "used to" look like when it was created, new parameters don't hurt those pages any and all should have options to make them backwards compatible or overridable. DDOstream (ContribsMessage) 19:18, April 3, 2018 (EDT)
From what you're saying I understand that deleted revisions never get deleted from the database as it stands now. So, according to my first response above, if you want to reduce the database size then you need to run this script [3]. As the maual says, it will delete the archive table (where deleted revisions are stored) and then purge the text that is no longer needed from the text table.
Also, no, I don't think it would be wise to ask Xevo to go through and start nuking things directly from the DB - that's a very time expensive project and there's no reason to do it just so you can subst: templates that shouldn't ever be subst:. But I'm not saying this because I want to subst templates. I already know that substituting templates doesn't impact the server any more than a regular wiki edit. I'm saying this because you just mentioned that Xevo has said (or you have direct access to the wiki servers to know) that the servers are running out of storage and am proposing real solutions.
In the meantime, I'm still waiting on an elaboration of what Zav said "because of the amount of code that gets placed in the page". Does this mean what Shoemaker said about server storage or some other reason to not want large amounts of code? Faltout (ContribsMessage) 21:02, April 3, 2018 (EDT)
P.S. ShoeMaker, if you want to discuss any of my other projects, please do so in a civil and productive way at their respective talk pages. Do not mix everything or I won't be able to respond in a structured manner. I'm already using bold font to keep the initial topic alive and learn what I came here to learn. Faltout (ContribsMessage) 21:11, April 3, 2018 (EDT)