Jump to content

Guy Incognito

  • Posts

  • Joined

  • Last visited

Everything posted by Guy Incognito

  1. Definitely sounds like they would be better off with a proper API to make for a shorter round-trip - but I know it can be hard sometimes to get people to change their ways! πŸ˜†
  2. We have this kind of setup on integrations for a number of clients. It's a bit old fashioned and clunky but still seems to persist as a common way of working particularly in certain industries, e.g. fulfilment and ecommerce price lists. We have mainly used a couple of approaches. 1) Creating cloud based endpoints to which files can be sent with cloud functions (E.g. Google cloud) sitting behind them. So the relevant processing is triggered automatically when the data arrives to the endpoint. Not quite a full API but not traditional FTP either. 2) Time-based send-and-receive using SFTP and CRON tasks to trigger the processing by regularly checking for files in certain folders on the FTP servers. The biggest challenges we find are more about process and safeguarding the quality of data exchange rather than technical issues. E.g. should files be overwritten on arrival at the FTP sever? What is the naming convention for the files? What is the protocol for handling missing or overlapping data - e.g. if 2 files have a row with the same ID number should data be overwritten in your database? How are people notified if data exchange fails or there is a file parse error?
  3. It's important that this is the case too because otherwise you could potentially be informing search engines you are using a different primary domain to one your site it actually using.
  4. Ah ok that all makes sense - maybe I misunderstood the original question sorry! Re: the 404 page I can't see why your approach wouldn't work - but I think you can just do if($input->urlSegment2) btw to check for the segments. πŸ™‚
  5. @Robin S I just wanted to post back and confirm that now I know not to look for ___upgrade() method firing on module refresh alone I can see everything working exactly as you described. Thanks all. πŸ™‚ An aside - I wonder if the wording here would be better as 'applied when each module is next loaded' just to clarify that the refresh itself doesn't guarantee a module loading... although it may just be me that made this mistake!
  6. @Martinushas summed it up pretty well. This is basically the same approach I use. So you build your navs/links up using your category (or sub page names) rather than a 'traditional' link to a sub-page url and append them to the parent page URL. <a href="<?=$page->url.{CAT-NAME-GOES-HERE};?>">Example Category</a> Then you can get retrieve the url segment from the page URL and use it in your selectors for filling out the dynamic content.
  7. @msavard You add custom styles by editing the CK Editor JS file which (from memory) is located at something like /site/modules/InputfieldCKEditor/mystyles.js. But you may wish to first check out this thread as there is a new RTE incoming for ProcessWire πŸ™‚
  8. @Martinusif I understand what you're trying to do correctly, I think url segments are the best approach. I frequently use ProcessWire for organising and displaying categorised data and usually approach this sort of thing with url segments rather than working with the actual pages (if that makes sense). So put all your items under a /items page rather than in a set structure. You can then you can create category pages as views of different sub pages by using the url segments in your selector. The advantage is that you can have your items in multiple categories without any duplication of pages, you only have to maintain one parent 'category' template and from an SEO perspective the url segments appear the same as regular URLs. (You may need to manually inject them into your sitemaps though).
  9. Thanks @szabesz that adds good context as to why it works like it does and it makes perfect sense.
  10. Hi @Robin S thanks for your help on this. I have a few personal modules I want to update and then later submit on a couple of public modules we've adapted in-house, so wanted to be sure I got my head round what is going on with how upgrades are meant to work, so everybody's assistance and time here is much appreciated. πŸ™‚ Yes I typically would carry out a more in-depth debugging but in this case, as it seems you have confirmed, I suspected that I may have been misusing the method rather than other bugs being at-play so was trying to keep things simple to start with. But definitely agree with your advised approach. Agree this isn't clear - I've always thought the hooks were optional. Ok this is interested as the module I was experimenting with is definitely set to autoload and this hasn't been my experience... so there's likely something else going on I need to troubleshoot. But now at least I know where not to be looking!!! 🀣 I'll update and close the issue I raised accordingly.
  11. I've checked now. Making it hookable doesn't seem to make any difference. The method just doesn't get called and the test message is never displayed. I'm not misunderstanding the functionality am I? The method should be called whenever the version number bumps right?
  12. Hi @BitPoet - I'm pretty sure I did try both with and without defining it as hookable, but will do another test to double check and report back.
  13. Yes, I've been using the module refresh to trigger the change but it doesn't seem to fire and it does register the change in version number and displays the default upgrade message. But no custom functionality within the upgrade method seems to get called. I've raised an issue now on GitHub just now actually: https://github.com/processwire/processwire-issues/issues/1634 As an aside - I've tried setting the version both up and down... I presume as the version numbers are strings not numbers any version change should trigger the upgrade method?
  14. Yes of course, feel free to DM me - always great to network with other UK based ProcessWire fans too πŸ™‚
  15. Hi @prestoav. We've done a fair bit of work around the Zoho API for a client who uses Zoho products extensively. We've not (yet) turned this into a module, but have some work coming up for this client that may make this an options. But feel free to pick my brains if it helps. From memory their API can be a bit unconventional as I think it's centred around 'views' inside the Zoho UI.
  16. Not sure I fully follow the issue - but wouldn't it be easier to just use an email MSP like Mailgun to route all your emails. You can send 10's of thousands of emails at low cost this way and not have to worry about hitting limits? Plus the WireMailgun module works a treat πŸ™‚
  17. @Liam88 I've only skim-read your thread and I think @flydev probably has you covered, but one other thing to look out for is if you are using URL segments/pages etc that use the same terminology as used in the Login Register module. I had an issue along these lines a while back where I was using the word 'profile' in a directory site and it conflicted with the login module's own profile setup. Ryan was going to patch it I believe so it may no longer be an issue. But thought I would mention it in case. I've accidentally let my Login Pro subscription lapse so I can't see the details of our conversation at the moment but I know it had us puzzled for a while until Ryan spotted what was going on!
  18. I'm not sure if this is potentially a core bug or an error/misunderstanding on my part. I'm working on a module where I'm pretty sure the upgrade method never gets called. I've tested with a simple message output and changing the version numbers up and down but I can never get any output from it. I've tried with and without using the ___hookable prefix on both my own method and the ones I'm calling. public function upgrade($fromVersion,$toVersion) { $this->___install(); $this->wire()->message('Upgrade method called'); } I note here just today somebody else is flagging the same issue. Does anybody have any insight into this or what I might be doing wrong?
  19. This is really weird - I was just about to start typing a message into the forum about this. I'm working on a module where I cannot get the upgrade method to fire. I'll post separately rather than hijack this thread but glad to see it's not just me with this problem!
  20. Thanks @flydev ?? this is awesome. I've not even had a chance to try it out yet but I can see I had previously been doing something wrong... /// change the button's label (attribute: value) $submit->attr("value", "Foobar"); Had been trying to target 'label' rather than button value... duh! Probably led me down a blind alley from the get go!
  21. Thank @wbmnfktr. I did see that thread from Ryan, but it didn't seem to cover modifying the default button, more about adding a new one. However on second thoughts I'm going to use the drop down actions anyway as may need more than one option, but it would be good to know about editing the default label if anyone has any insight on this for future reference.
  22. I'm trying to do something I thought would be simple, but maybe not!... I'm trying to hook ProcessPageEdit to change the label/text displayed on the page save button in certain circumstances based on fields in that page. But can't figure if it's possible to target the button. I can get to the button actions in the drop down with ProcessPageEdit::getSubmitActions but this array doesn't contain the top level label only the drop down values. Can anyone point me in the right direction here please? TIA ?
  23. Late response I know, the recent message triggered the notification for this thread!... But I don't think you need a hook for this. The new version of this MarkupSEO allows you to set up automatic field inheritance for empty fields. E.g. so meta title is auto populated by page title.
  • Create New...