Jump to content

Mike Rockett

  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Mike Rockett

  1. Progress Update:

    I'd like to drop debug mode in favor of a testing tab that I'm quite sure has been brought up before. The idea is to not have to throw your entire site in to JL debug mode just to test one thing in production. I've added this tab now, seems to work well.


    • Like 2

  2. 2 hours ago, adrian said:

    Have you had a look at alpinejs - a good option if you are already familiar with Vue

    I have indeed – and I dig it from the perspective of rapid development. As I understand it though, it comes with a runtime that contains things that may or may not be used. Sure, the Alpine runtime is small, but the build file I have in Svelte is looking a bit smaller (so far). That aside, enjoying Svelte so far – this is the first time I'm exploring all of its features.

    • Like 1

  3. Progress update:

    Have managed to throw in a few hours on v2. The frontend is being rebuilt in Svelte, because I simply don't use jQuery/Datatables anymore. By not using any of these, I'm free to code this thing the way I want, without having to use a bunch of dependencies that are simply frustrating to build things with. Datatables in particular is hell to work with.

    (As an aside, I primarily work with Vue, but Svelte is a little more suited here. No runtime, much smaller bundle.)

    Anyways, here's a preview of the redesigned jumplinks list.

    • Newly built styles, consistent in both the default and UIKit themes (should be fine in custom themes too) and scoped to the Svelte container.
    • Have carried over the behaviours, however instead of fetching all jumplinks, they're now fetched as a paginated collection. I'm sure there are a few sites out there with many jumplinks, and fetching them all is just too much.


    As mentioned in a previous preview post (such a long time ago!), you'll be able to turn off the colour helpers if you don't like/need them.

    • Like 5

  4. On 6/6/2020 at 8:45 PM, Krlos said:

    Following my last post, in the end I had to use htaccess redirect because I could never solve the problem.

    Super sorry for missing your post! If my-page exists, then Jumplinks will not take effect. It only responds to 404 events within ProcessWire.

  5. @a-ok Jumplinks 1 doesn't have built in support for automatically dealing with query strings. This is planned for Jumplinks 2, but I simply haven't had the time to complete it. For the time being, I'd be inclined to use the {all} wildcard on the end.

    Source: chance-to-dance[/]{all}
    Destination: somewhere/{all} or {!all} to skip wildcard cleaning

  6. @uiui Ah you're quite right. Unfortunately, I don't have enough time to implement this right now... If you (or anyone else) would like to take a stab at it, please feel free to submit a PR to the repo. If I find some time, I'll take a look. 🙂

  7. @joe_ma – Apologies for not getting back to you, I didn't see your post until now 🙈 I'm not quite sure why you're getting those errors, though it seems like something else is interfering with the module output and or your pages. Could you share a list of the other modules you are using and perhaps any custom code/hooks that are at play? That might help me find out what the problem is, which is important as this issue hasn't come up before and I'd like to ensure it doesn't happen to others too. Thanks!

    @uiui – The module supports sites with the multisite and language support modules installed. I haven't tested it it in a while, so if you have any issues, please let me know. 🙂 

  8. @2hoch11 - Thanks. So the reason for the redirect is to take the page away from index.php so that it isn't seen as the home page. You simply need to change the source to index_php/{id}.

    • Thanks 1

  9. @Andi – interesting… I'm sure this could be achieved with a hook that gets triggered when iterating pages. Haven't worked with the hook system in a while, but I guess that adding support for addHookBefore('Sitemap::page') would be a decent idea. Unfortunately though, I don't have the time to get to this right now. If you or anyone else is willing to look into implementing this, please feel free to sumit a PR. If that hasn't happened and I find some time in the next week or so, then I'll jump on it.

    As a last resort, there's always the getAdditionalPages hook that was recently added. It would mean that you exclude your posts from the sitemap and use that hook to add all your posts with the correct paths.

    • Like 1

  10. Hi @HerTha - you're very welcome. I really do wish I had more time to work on JL2, which would solve this problem off the bat, but I just can't squeeze it in right now.

    With this specific issue, I might land up having to do some trickery in relation to checking if the column exists. Means I need to dig into the information_schema table, which I hate doing. MariaDB supports alter/modify if not exists, but there's obviously no point in me adding something that will crash for most users.

    I'm still baffled as to why it's running that schema update in the first place. The only possible thing is that the schema version somehow got 'lost' and so it re-ran it. I'm also a little puzzled as to why the _nf table had to be deleted – that doesn't seem to have anything to do with the issue at hand, which is in relation to the main table.

    Before you update production, could you check the module configuration in the database for me? In the moduels table, there will be an entry for ProcessJumplinks – in the data column, there will be a _schemaVersion in the JSON payload – the value for that is what I'm looking for. I'll also need the current version of JL that you're running on the production site. Based on that, I might be able to diagnose. If we're lucky, it might resort to a simple correction of the schemaVersion, in case it didn't successfully update before.

    • Like 1

  11. @teppo – I've pushed an update to the develop branch that adds an update policy config option. I think the sensible default is to set it to guests only, which is what I've done here. Let me know if you feel it should be the other way around. The HTTP headers now also provide a reason for skipping the cache. Would you be happy to test it out?

    Regarding templates without sitemap access, the idea is to only target pages. Built it way back when, so can't really remember why I did it this way, but I do remember having a reason. We could well add an option to also say that children of these templates should be excluded... 🤔


    There are other issues on the repo at the moment, some of which discuss features people would like to see. Unfortunately, my time is very limited and so I invite module developers to contribute if they feel up to it (I'd be super grateful). Happy to spend time discussing things and reviewing PRs and issuing quick bug fixes, but am not able to get to feature development on this module right now…

  12. @teppo – fair enough, you're actually quite right. So the options are then to either have the option to turn off caching for authed users or use use role-based caching for authed users, or perhaps even dictate some more fine grained rules behind which pages can be added to the sitemap. At the end of the day, the sitemap should always resemble publicly-viewable content only, so perhaps that's a better option (though I don't know how feasible it is from an implementation perspective). Another thing to note is that individual pages can be turned off from their Sitemap settings, though perhaps in some cases, that could be quite a chore (depending on the tree-structure and whether or not said pages are all common to one parent).

  13. @teppo, interesting idea indeed. In my opinion though, I feel like that defeats the purpose of a sitemap, which is really designed for guest and search engine access (in which case, only templates of those pages should be added to the config in the first place). I don't see why items should be conditionally added based on role if the consumer won't make much use of it… If you can see a reason how/why they would, then I'm happy to add it in.

  14. @adrian Interesting point indeed, though I recall having changed the priority once or twice in the past for some reason or the other. To me, it makes sense that JL does its thing first as it acts as a user-intervention strategy in that we have to honour the user's wishes. Figuring out what those are, however, is a different story, given the different approaches/modules that are available. I wish this could be configured by the user, in the case conflicts/undesired redirects take place. Jumplinks was actually borne from a plugin I wrote for Bolt CMF, and that plugin was an absolute, undeniable 'before everything else even considers thinking of running' scenario. Before we make a decision here, I think we should get more feedback from other JL users, and perhaps get a list together of any plugin that does route-redirection along with their priorities.

    • Like 1

  15. @nabo - Thanks for letting me know. I see I updated composer.json and not info.json as well.

    Update: I have made the change in the repo, but will only be able to update the module directory when I find the password.

    • Like 1

  16. @baronmunchowsen – I think mapping collections might be what you need if you haven't declared them in the correct order. Create a collection called blog, and include only the one you would like before the catch-all takes effect. So add old-url=new-url in the collection. Then your source would be blog/{all} and your destination would be new-blog/{all|blog}. That should do it, hopefully.

    As for query strings, that's being added to v2, which is on hold again unfortunately.

  17. @phlp The reason the cell is empty is because the parser could not determine the browser name and version, and so it's empty anyway. At best, I could simply indicate that the that browser is "unknown" in that column. Wouldn't want to not store unknown agents just because they can't be parsed - this would be getting rid of raw information that might be useful to some folks.

  18. @OllieMackJames Okay, well I honestly don't think there's much more I can do here (unless I'm missing something staring at me in the face 🙈). Hoping to find time soon to continue work on v2 (starting writing the frontend a little while back), which will keep track of these things a little differently (a migration table). 

    8 hours ago, OllieMackJames said:

    been using this great module for years already, thanks

    Scary to think how long it's been around, and how long I've taken to get v2 anywhere 🙃

    • Like 1
  • Create New...