• Content count

  • Joined

  • Last visited

  • Days Won


Autofahrn last won the day on May 21

Autofahrn had the most liked content!

Community Reputation

24 Excellent

About Autofahrn

  • Rank
    Jr. Member

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Autofahrn

    And now for something totally different... This project is neither about layout nor about fancy eye catchers. Its about a game from last century which celebrates its 30th anniversary this year and still has a some more or less active community. The idea behind the funky layout is to reutilize the original game graphics and fonts to obtain some corporate feeling, so it intentionally pixelates. On the other hand the bootstrap-based layout is modern enough to be responsive. The forum was originally founded in 2003 on ezBoard which morphed into YuKu around 2007 and ended in acquisition by Tapatalk in 2017. Most of its original flair had gone due to those provider changes and Tapatalk's ideas about collecting data didn't seem to be very compatible with the upcoming GDPR. Some action was required. My obvious first thought was, which forum system to choose. Second thought was, why not build a forum on ProcessWire? First hurdle to take was grabbing the existing forum content from Tapatalk, since they simply do not provide any kind of backup or export mechanism (at least not for free boards). Luckily nowadays we have jQuery and JavaScript which easily loads any website into a DOM tree which can be parsed and analyzed with little efford. Quickly we had one big structured JSON file with all forum content. It took another day to write a test importer and restore that content into a hierarchy of about 5000 ProcessWire pages to get an idea about the resulting performance and that looks pretty promising. In fact the final forum is still located on a shared host without much optimization and performs pretty well (response times around 100mSec except on root). Another goal, probably not possible at all with "standard" forum software, was the ability to play some background game music during the forum visit, so content update is entirely driven by AJAX which, in turn, nicely reduces data payload as well. From a technical standpoint the implementation uses the page fields created and modified to maintain its author and realize the typical "new posts" functionality, which needs some tweaking to keep everything in sync. PW Form Builder is used to simplify handling of input forms and configuration management of the frontend CKEditor (which is equipped with a dozen of plugins to provide emoticons, a per-user image repository and other fun stuff). Have fun
  2. Autofahrn

    Still seems to happen with 3.0.96. Pages were bulk-imported via API, affects ~2 from more than 1000. Moving the parent page around fixed it.
  3. Autofahrn

    Its just because of the fact, that each request sends the user's IP to the remote server which may do anything with it. Including storing or merging with other available data. Even if Google (currently) states that Fonts (and reCaptcha) are served from separated servers not connected to the remaining Google infrastructure, this is hard to verify from outside. Additionally Google states that they do use requests for analytics to determine popular Fonts. Since the user's IP address may be interpreted as personal data, it is rather critical to send this outside the EU. There are many discussions about this stuff on german sites, but I also found some in english, like this one: I'm not a lawyer nor do I have the time or budget for juristical battles, so I prefer to serve those locally.
  4. Autofahrn

    I'm missing a question: 4. If you are using Google Webfonts, do you use the preferred method by google (loading from Google servers) or hosting them locally? and probably: 5. When using local copies of Google Fonts, do you observe the font list for availability and if the local files are still up-to-date? (used monospaced Droid font in the past which is no longer available for free) Until last weeks I've used to use the recommended method and let Google serve client-optimized css declarations, but with upcoming GDPR I've changed my mind and reworked all my sites to host the required fonts locally. Of course I've started using the already mentioned webfont-helper but ended with an own PW module which takes the Google font string (like 'Didact+Gothic:regular|Syncopate:regular|Playfair+Display:italic'), downloads all required variants and creates the required CSS which makes transition rather smooth (if anyone volunteers to make a well documented PW module out of it, please send me a PM). That way I (or my customers) may continue manage required fonts from the Admin. And, to at least answer one of the original questions: Since my projects are rather simple with mostly a single CSS file (may be built from LESS) which is included within the <head>, so it was rather simple to use relative paths for now. For more complex sites I'd probably use absolute paths as well.
  5. Autofahrn

    When I need to return something totally different from a template file, I'm doing something like this: if($config->ajax) { echo <Whatever>; $this->halt(); return; } Works ok for me.
  6. Autofahrn

    Sure, must have been blind and skipped testing the select multiple for any unknown reason. solved&closed, thanks!
  7. I'm looking for a solution to have an api-driven list of pages and currently struggle with using InputfieldPage due to the requirement to specify allowed pages. Background is, that I'm using PW to implement a full featured forum (which actually works quite well and pretty fast btw.) and this page collection is used to consolidate notifications on a per-user basis which are sent out as notification mails. This part works nicely as long as I specify any possible template and pages for the page inputfield. Problem is, that I can't check the current setting in Admin since opening the input field (I set it to closed and loaded via AJAX on demand) triggers loading of several thousand pages into the dropdown list which takes a while and ends in timeout error 500 from time to time. I just want to see the (few) currently referenced pages (preferably with the title field) for diagnostic purposes, I never will add references from the admin so I don't need the dropdown to be filled. What's the best way to accomplish this?
  8. Didn't considered alternatives yet, since WireMail basically works ok for me .
  9. Sorry for re-opening this old thread, but I'd like to ask if there is some option planned to select the now enforced quoted printable UTF-8 decoration into something else? Some GMX screensaver app seems to have problems decoding the quoted printable string but works nicely when I modify quotedPrintableString in WireMail to use base64_encode. I'm totally aware of the benefits from quoted printable over base64 encoding, but for the subject I'd indeed prefer to stay with plain ascii if encoding is not necessary at all.
  10. Autofahrn

    Sure, the name alone is not enough, I had the url in mind. But that of course would need some more encoding. Sometimes I'm replacing pages by renaming them so the url stays the same but referring to a different page. Its more a principle... ;-)
  11. Autofahrn

    Is there a chance to get the page name instead of its id for the redirect URL entry? Using {name} obviously does not work. I'd somehow prefer to not see my page numbers in the url.
  12. Autofahrn

    I'm struggling the same issue from time to time on a shared server (Strato) as well. One day image upload works nicely, next day not. I've just realized that they are running a "smart" filter and block suspicious traffic with a 503 (Service unavailable) response (to eliminate automated guestbook spam, they say). This 503 response obviously crashes the JSON parser so upload stuck at 100%. Disabling the server-side "smart" filter removed that issue for me. Not sure if it is feasible, but can't the AJAX response be checked if it at least looks like a JSON packet or catch the JSON parser exception and display some useful popup? Just in case, reply from server is: Stack trace is: VM268:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at Function.parseJSON (JqueryCore.js?v=1516377249:2) at XMLHttpRequest.<anonymous> (InputfieldImage.min.js?v=119-1516377246:1) parseJSON @ JqueryCore.js?v=1516377249:2 (anonymous) @ InputfieldImage.min.js?v=119-1516377246:1