-
Posts
326 -
Joined
-
Last visited
-
Days Won
5
Everything posted by BrendonKoz
-
Request for Input: What features should a PW calendar module have?
BrendonKoz replied to bernhard's topic in Modules/Plugins
Appreciate the gesture, @bernhard, but I know how difficult it can be to work with recurrence and all of the edge cases therein. Even if just for testing, I'd rather pay you for your work! πβ€οΈ Catching up on life right now, but saw you posted the intro video, hope to watch it soon! Not sure I can immediately use the module, but excited to test it out!! -
Error "Invalid Module Name" - Please assist
BrendonKoz replied to Greg Lumley's topic in Getting Started
Do you have any files (or folders) in your site/modules folder that start with a dot/period? If so, it should be safe to delete if it is causing errors. It looks like some files were renamed and/or placed in the wrong location...maybe? -
I'm still personally having trouble properly understanding the vision of where the problem is. SIA has seen the car example (at least one of them, there are a few). I understand that there are potential hierarchies of some sort of data, but how that data relates to individual plants/pages, to other levels within the hierarchy, and how SIA is envisioning the page tree to look, it's hard to make any recommendations. π Maybe the first hierarchical level in the page tree is the CATALOG (version/periodical?). These are individual entries that are the (only?) allowed children of HOME. Allowed children of CATALOG would then be GROUPs (though I'm not sure what this is a group of or how it relates to CATALOG or CATEGORY). CATEGORY is next, so it's the only allowed child of GROUP. Since we're talking about PLANTS, I'm not sure what "Category" relates to within GROUP or how it is defined. I would think make genus, or species, or type of plant as defined by the organization (Annual, Perennial... Perhaps the hardiness zone? Seed or Bulb?) That's a lot of clicking to get to specific (plants?) items within the site, but it does limit the amount of difficulty in finding specific items within a page tree containing 10,000 items under a single node. ... There are ways that the above defined data hierarchy could be architected within ProcessWire so that it is not as rigid as mentioned. Fields used as attributes (ex: tagging) can go a long way here, along with what @Ivan Gretsky mentions in the Listers to offer secondary predefined navigation options to supplement the page tree. There's also the very powerful admin live search which can even be customized. That is extremely quick, assuming an item's title is already known. I would like to make clear that if you're more confident in your use of WordPress and already understand how you would build that site out using that tool, then it may be a better option for you. I'm trying to understand the more nuanced parts of this particular job request in order to give some possible suggestions of how ProcessWire could be used to mimic what you'd get out of WordPress as they can be, for most scenarios, used interchangeably (with the limitation on custom plugins and/or themes).
-
Good day, SIA. Some questions for clarification: "they will make transfers to each other" -- This may not have translated properly. Will there be multiple websites where data will be maintained and integrated into both, or is this referring to many people making edits to individual items/pages? "How would it make it easier for them to edit their 10,000 pages approximately?" -- ProcessWire has some options for various forms of access levels, whether it be page-level access, field-level access, or simple role-based access; you can also override with custom rules using PW's hooks. The question you asked though of, "how to make it easier," would depend on the needs of the project, how they expect to use it, and how you end up building that solution out. ProcessWire provides the basic options, but it's up to us to improve it per project using the tools that PW offers. Your "hierarchy" is flat. Were newlines removed in the paste? You provided a hierarchy, but what do you want to know relating to it and ProcessWire?
-
Would you expect a PW-related project to be build with ProcessWire?
BrendonKoz replied to wbmnfktr's topic in Dev Talk
If the question was never asked, I wouldn't have wondered. I do agree that if I discovered that a competing, comparable product was used instead of PW (such as WordPress) I'd be dismayed, but when the technical demands are different and a familiar tool seems like a better fit - no, I think that a lot of the decisions with ProcessWire is that simpler is often better and not to overcomplicate things: use the tool that you're familiar with that fits the solution best. If server costs were a concern and your home internet is stable enough, you could run a Raspberry Pi (5) as a webserver to run PW and MySQL inside of a Docker container and merge the backend with the frontend as flydev suggested. That seems like overkill simply to involve PW though? If there was a technical reason to use PW in the mix beyond what is currently offered, then that would be the time to do so! -
Unfortunately no. I wish I could have. I was trying (quickly) to find the article I had seen that covered the 4-5 different protocols that aimed to solve a similar goal. I was unsuccessful. It was well over a year ago, so I don't remember the names of the protocols (or the product[s] that were using them). I think one of them was Matrix, and maybe the other was BlueSky's AT...and then forks of those.
-
Hook processInputFile and processInputDeleteFile
BrendonKoz replied to cwsoft's topic in API & Templates
Looking at the code for processInputFile, it does seem to run against any changes to the field, including deletion, so in that regard it makes sense that it also runs when the ZIP archive file is being deleted. You might be able to get an InputfieldFile after hook to work against ProcessInputAddFile, but I think to be successful you'd have to examine the current method to get access to the values you need since the default method only accepts the filename as a parameter, you can't immediately get the pagefile. Maybe that was the issue when you tried to use it as a hook previously? -
Have the federated protocols finally stabilized with a clear front-running winner? For a time there were competing protocols that various community software products were using, claiming their option(s) were better suited for various scenarios. One particular complaint over ActivityPub was server cost related to the bandwidth use of the protocol. I tried to quickly find a singular article that discussed the competing protocols but unfortunately was unable. I think the best source I found was a hackernews discussion thread, and/or Reddit, but Google's results was full of various Reddit discussions, none of which were what I had read in the past. (Seems newer conversations are comparing Mastodon, specifically, against ActivityPub.)
-
Hook processInputFile and processInputDeleteFile
BrendonKoz replied to cwsoft's topic in API & Templates
Just curious if there's a less PW-like way of dealing with this issue? Are you unpacking the archive, doing some processing on the extracted files, then deleting the files -- all in sequential order? If so, why not call the other methods from within each method/step of the process? That way you'd only need one hook, the other logic can be separated into standard functions/methods and don't need to rely on proper hook order. If that's not possible, I haven't checked to see if PW's file methods are non-blocking, but if they are blocking, then perhaps setting a priority order on the hook calls will suffice? -
Things I would consider trying first if I ran into the same problem: What is different between the current website, and a fresh installation of ProcessWire? (Can I take a DIFF of the core files [wire folder], index.php, and .htaccess?) Has the current website used any modules that attempt to capture 404 responses that is causing an issue? Are either instances being run from a subfolder, or are they installed in the root? Are they running on the same webserver (eg: NGINX vs Apache 2.2 vs Apache 2.4 vs Litespeed) Does the webhost have any services in use that might cause unexpected issues (ex: mod_security) If I were to check the web browser's debugging NETWORK tab, is there anything I can see different from when it shows the expected page vs when it does not? I'm sure there could be other things I could try too, but those are what I think I'd try right now.
-
Fuzzy search for leniency on spelling mistakes
BrendonKoz replied to joe_g's topic in General Support
Oooooooh, very nice! -
Fuzzy search for leniency on spelling mistakes
BrendonKoz replied to joe_g's topic in General Support
ProcessWire uses MySQL, and as such exposes, through selector queries, a limited (though quite decent) set of options for matching. None of these are truly fuzzy, as MySQL requires quite a bit of additional effort for that type of search result matching. Typically the solution for fuzzy searching is to use a purpose-built engine, such as ElasticSearch, Algolia, Typesense, or similar options. -
Using straight database methods/functions to retrieve data would, unless you process the results differently, just be standard PHP / MySQL requests. You can use the API docs about $database, and take advantage of it, but it's just a ProcessWire way of querying a separate database. The resultant data would still be just that -- data. How you then further process that data and then display it in a template is up to you. Most of what is rendered in a template is up to you, as a developer, anyway. If you're looking for a more ProcessWire-like way of referring to data when using the WireDatabasePDO class (ex: $page->MyCustomTable->row->first('property')), you won't get it, that's just a helper class to standard PDO methods within PHP. Something like kixe's FieldtypeSelectExternalOption might provide you with a PW-like feeling, though I don't know if it's entirely necessary. It all depends on what you want to do with the data from the table, and how you want to interact with it, if at all. If you want to be able to edit it in the admin, and/or create pages from it, then it's not quite as simple, and I'm not sure you'd want to. You certainly can, however. So with the separate database, what is it you'd like to be able to do to, or with, it? Simply display it? Here's another good discussion on this topic, also in the forum...
-
Request for Input: What features should a PW calendar module have?
BrendonKoz replied to bernhard's topic in Modules/Plugins
That's excellent. π₯° Ah, I did not intend to suggest complete removal - only a collapsed interface to lessen the vertical scroll when a user might not need to interact with individual dates in a recurrence. The difficulty might be in separating out the progress bar, depending on how you're handling the HTML (since I think having that shown at all times is absolutely important). szabesz mentioned BusyCal; I use Rainlendar for my calendaring; it uses a tabbed interface to section out different aspects of events/reminders, that way (theoretically) similarly used functions are grouped together, but not everything is viewed at once. That said, there are benefits to certain users having everything viewed at once that can get lost in tabs/collapsed areas too, so I humbly refer to your best judgment and preference! π -
That's definitely an interesting one based on what you've already provided. My first thought would be some sort of custom TextFormatter but you've already tried removing that. Even more confusing considering the rendering within TracyDebugger is showing the duplication. Silly question: You weren't working on a local/dev version but checking updates on a live/production version, right? ProCache was most definitely completely off, and any saved caches were cleared? Field-level caching was not enabled on the body field? Is the body field a standard textarea/CKEditor/TinyMCE field, or is it part of a Repeater(Matrix)?
-
If you're willing to use a Docker-based solution for your local dev testing -- or just give it a go, I just searched via Google to see if there was a Docker container pre-configured that someone's put together using your two listed prerequisites. There is (of course) a WordPress setup that someone has shared. You could use Docker and setup the customized container, then either delete WordPress (if you want) or use the setup and just install ProcessWire alongside it for testing (and then [likely] destroy it when you're done testing). A lot of PW developers here love DDEV as a development environment which uses Docker as the underlying service. It might be an opportunity for you to try an alternative local development hosting setup just to see if you like it. Honestly, I don't know if you'll want to switch from MAMP fulltime as MAMP is likely going to be more responsive with system resources. BUT, for a quick test of validating LiteSpeed and MariaDB support (if you didn't want to spin up a DigitalOcean or Linode or similar service temporarily), it would definitely work in a pinch to give you some more peace of mind. Docker Hub: LiteSpeed WordPress Setup
-
Request for Input: What features should a PW calendar module have?
BrendonKoz replied to bernhard's topic in Modules/Plugins
I love the planned efficiency of that. I was actually thinking that, using meta(), there might be a way (or a few ways) to mix the two, but I hadn't fully thought it through. I was actually wondering about that after watching the video, and after bernhard's explanation of what is actually stored. So currently it sounds like there is a single page that stores all of the various data, aside from the date, and/or datetime values for recurrence. However, what does happen if there is a description exception within the series? Example: A client wants to hold a recurring meeting on the 2nd and 4th Thursday of the month. It's a book club. They know they'll be having this meeting for the full year, with the exception of major holidays. They want to include the name of the book that will be discussed for each meeting - so nearly everything will be exactly the same, with the exception of a description field (or a separate "book" field?). If the base solution is to only duplicate the date fields, if there is a desire to edit individualized adjustments per event within a recurrence, can those pages created for recurrence attach additional field data that would override? And if yes, how would one then revert changes by overriding a description later (ex: update descriptions for all events from this date forward)? It is completely reasonable to simply say, "This won't support that [yet?]." π A lot of things should be extended by the developer taking advantage of the module, I'm simply curious how that might be achieved based on the architecture of the module. P.S. - Although the live-loading data table is really cool, without hooks, is it possible to (optionally?) hide that from the user until/unless they'd need to interact with it? I'm just thinking that from a UX perspective, it's pretty (and super cool) to look at but can take up a large portion of screen real estate if not actually needed. P.P.S. - Will this be a standalone Pro Rock module, or will it require RockFrontend as well? -
Perhaps reaching back out to them for clarification might be needed. π
-
So is this a proposed solution as a template for module developers to implement in any JS-enabled modules, is it for PW to implement in its JS-powered backend implementations, or even something else entirely...? I'm just wondering how or where the integration of this would take place. I can see the benefit to this being offered, whether or not I can immediately see a need for myself at this point in time.
-
@Ivan Gretsky I wish I had answers to your questions, but I'm mostly replying here out of curiosity for myself: I'm a little confused here. Is the first item that they want you to remove the Domain attribute, or they want it added? If they want it (Domain attribute) added, according to MDN, the "__Host- prefix [...] must not have a domain specified", though in your linked example, a domain is specified. That definitely confuses me. (Maybe MDN is wrong?) As for how to modify those values in PW, I don't have an answer there. π
-
I still follow soma on Twitch. He occasionally has (digital) painting sessions. π Signed up for Pinkary. Hopefully they'll offer an API like the original Twitter days to build out supporting apps. Interestingly, Pinkary runs completely on SQLite.