Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/29/2020 in all areas

  1. πŸ™‚ I hope to do so, eventually. ------------- This (post above) was meant to be teaser before an announcement but I never got to that on time, so it seems to have backfired spectacularly πŸ˜†. It seems that rather than waste time writing such teasers, I should be getting on with the job :-). So, here we go, just FYI. Padloper 2 will utilise Vue and Vuetify in the backend. I won't go into details why (at least for now). Just know that there were solid technical and practical reasons for this. This is not a request for comments :-), i.e. there is no going back on this. The main foundation of Padloper 2 remains the same; A native ProcessWire shop solution that is robust, secure and user friendly.
    7 points
  2. Yes, for me it has worked as follows: I'm not brave and complex enough to go with Laravel, but I'm also not cowardly and simple enough to go with SquareSpace πŸ™‚ so Processwire fits me like a shoe πŸ˜‰
    6 points
  3. Done too. I also added: PRO – Easy to maintain, no need to update the system frequently. The only driving force to update a ProcessWire system is the end-of-life policy of PHP. Because of the lack of security issues, updates are not required but can be performed easily if one wants to add new features. And to be fair, I also added this (since the list we are dealing with has systems like that): CON – This CMS is not for those who just want to download a frontend theme. ProcessWire has no concept of frontend themes like other CMSes have. Instead, you can customize some free frontends if you have basic HTML/CSS/PHP knowledge or hire a developer to implement a complete custom frontend according to your own needs. Another option is to learn the basics of web development and you can implement your own frontend easily because that is one of the main strengths of the system: makes it easy to get into complex web development if you have the time to learn.
    5 points
  4. Hi! How about moving PW up the list here? πŸ˜„ Slant Best Php CMS List It's currently only #4 on the list (right behind Concrete. Let's move it up!?
    4 points
  5. Done and also updated the price to β€œfree”.
    2 points
  6. Great points @szabesz! I think it's well written and very honest 🍺
    2 points
  7. Size alone should not be a problem (considering that I have used a lot of much bigger JPEG images with IMagick). In some cases the SVGs consisted of many 1000 paths and a lot of class definitions for their styling. I do not know the how efficient the rasterizing in IMagick works, but I guess it was the bootleneck in this specific case.
    2 points
  8. Hello, Welcome to the Forums! Regarding your topic, you might want to checkout sites (stats) like: https://2019.stateofjs.com/javascript-flavors/typescript/ Looks like the popularity of TypeScript is declining, and I've also learned this from other sources. JavaScript is becoming more and more feature rich, so if you are really into it, I recommend getting into: https://babeljs.io/ We have a forum topic with more resource links: https://processwire.com/talk/topic/14444-state-of-js-2016/
    2 points
  9. I don't know, is it going to help you complete padloper next version? If not I would say it is a waste of time, but what do I know, I am not a programmer, just a guy who paid for padloper and keeps hoping something will happen to get a good shopping environment working with processwire. But to be quite honest, judging by the slowness of reactions on the closed forum of padloper and the lack of progress here, I am not so sure if this is ever going to be a product that I would trust my shops to. But hey if you love Vue, I hope the two of you get real happy. BTW any news to report on padloper?
    2 points
  10. Ok I get it. The Page Reference field as a selected "Parent" to allow an easy Page List selection option, this is what affect the search here. If I remove the selected parent, only keep the template and use the AsmSelect instead, then it doesn't affect the search. It's a little less convenient to select in the admin, but I can deal with it.
    1 point
  11. Wohoooo! So cool guys! Now it's #2!!!!!! Right after Joomla! πŸ˜„πŸŽ‰πŸ†πŸ”₯❀️🀩😍
    1 point
  12. It's been a while, but I just wanted to follow up with you on a project that's now in its final stages and say dataset and tasker are really exceptional, powerful modules, and definitely up there as my favourites for ProcessWire. You really covered the edge cases with being able to set task dependencies, merge, overwrites etc, and while it took some time to get my head around I now have a system that calls multiple tasks every hour via cron for fresh data from a specific set of CSV files. Looking forward to hopefully working on another project that uses dataset/tasker!
    1 point
  13. But I want to comment πŸ˜‰ ..when you release Padloper2, Can you create a tutorial, or better a course, how to use Vue+PW in modules development? I think if you put it on Udemy, some of us might buy it.. I would like to start creating modules and I think Vue is the way. You will allow us to know if this will be a bigger and better step than using UIKit in Processwire. Thank you for bringing this to our environment.
    1 point
  14. I further investigated the issue by reviewing all of the SVG files used on the pages that have thrown errors and comparing them to files from pages that were editable without problems. I realised that the guys who generated the files (architecture students) used different software in their process (Adobe Illustrator, Vectorworks etc.) which led to really complex files. I ran some of them through an online SVG minification tool which helped to resolve the issue in some cases and instructed the students to develop a kind of maximum complexity guideline for their files. To make the backend usable again and offer them a chance to exchange their "bad" files, it raised the max_execution_time temporarily in the .htaccess: php_value max_execution_time 120
    1 point
  15. Im on 3.0.155 and still are able to create a new role named "edit". thereby replicating the issue mentioned above. glad to have found this post!
    1 point
  16. Hey @OllieMackJames thank you, also for the donation. I think it came from you? 🍻 I'm not able to reproduce the problem with the prompt. Does the DeveloperConsole give you any JS Errors? I had tried to implement the multiselect function before. But I failed on some points because it was not stable and reliable and in the end there were too many dirty JS hacks. Originally, this module was just a proof of concept, with the hope that @ryan would implement this function cleanly into the core of RepeaterMatrix. The needs for this feature are already quite high for the users.
    1 point
  17. Sorry for the late reply, that works a treat!!! Do you know if there is a similar way to set the tools as default as I couldn't see that in AOS? For example I'd like these tools as default in the editor bar: Format, Styles, -, Bold, Italic, -, Superscript, Subscript, RemoveFormat JustifyLeft, JustifyCenter, JustifyRight, JustifyBlock
    1 point
  18. The stated library has a MIT license so this should not be a problem. As the library has no external dependencies I'm only using the content of the "src" folder within my module. I copied it manually into "/vendor/vat". This works like a charm: wire('classLoader')->addNamespace('Ibericode\Vat', __DIR__ . '/vendor/vat'); use Ibericode\Vat\Rates; ... $cachePath = $this->wire('config')->paths->cache . 'vat-rates.txt'; $rates = new Rates($cachePath); $rate = $rates->getRateForCountry('NL'); // 21 bd($rate); Edit: I finally copied over the full library including LICENSE and so on.
    1 point
  19. Slightly off-topic: There's not really an ideal way to include vendor libraries in ProcessWire modules. You can of course just check the entire vendor folder into your repository, but then you're replicating the ENTIRE source code of ALL vendor libraries in your repository, which feels wrong. Also, in this case you have to check the license of that project; if it has a share-alike clause, you'd have to use the same license for your entire module ... Honestly, I'd avoid the hassle and just include instructions on how to install the third-party libraries to use with your module. You could even include a composer.json in your module with all dependencies, so the users of your module just have to do a composer install. @bernhard talked about a similar approach here; though in this case, the entire vendor folder created by Composer is included in the repository, which again is a somewhat heavy overhead. If you are including the repository in your vendor folder, you should be able to load them with the WireClassLoader. Though most PHP libraries are built to work with Composer's autoloader. In theory, every PSR-4 compliant autoloader should work – but I'm not sure how many edge cases there are. I'm also not sure if the WireClassLoader is fully PSR-4 compliant. A good starting point is the repository's composer.json. Check the autoload information, there you can see that the module follows PSR-4 and maps the Ibericode\Vat\ namespace to the src/ directory. Modify your namespace mapping accordingly and it should (could / might πŸ™‚) work: wire('classLoader')->addNamespace('Ibericode\Vat', __DIR__ . '/vendor/vat/src'); Again, I'm not sure if this is the best solution. I'd love to see some core support for Composer dependencies in ProcessWire. My dream solution would be to be able to use git submodules for dependencies, but not even Github really supports those, oh well πŸ™‚
    1 point
  20. Some Examples: 1) I've used Tokenizer to render search results: 2) I'm using the nette mailer for perfect e-mail scores using DKIM: 3) I've used Nette Forms for custom Form implementations with Backend + Frontend validation 4) I've used some of the image manipulation functions: https://doc.nette.org/en/3.0/images
    1 point
  21. I've figured it out and opened an issue on github: https://github.com/processwire/processwire-issues/issues/1163 If anyone is interested in a solution: Make sure to add a trailing slash to the URL
    1 point
  22. Thanks to @kongondo @adrian @bernhard and @eydun That helped me with this. Following @ryan pushing a fix for this to the PW 3.0.155 dev branch i do not have to pull my hair any longer πŸ™‚ Also @adrian for some reason TracyDebugger is not freaking out about the Console panel anymore even after i applied 3.0.155 dev update. Knock on wood...
    1 point
  23. Hi @bernhard Yes, RockLESS, SCSS and other CSS preprocessors can be useful. One thing I learned the hard way however is that the header is loaded before any HTML or CSS. The only way I could style the header to look as intended was with inline styles. I certainly used classes with the limited CSS styling available from mPDF in the body. Maybe there's a better way, just didn't have the time or patience to explore. Another limitation was with tables... I needed a centered heading and left aligned text within a table cell. Nope, if the <td> is left aligned, so is everything within the cell. Had to revert to divs which had an impact on the design. Told the graphic designer to live with it - it is what it is! LOL Having said that, love your module and mPDF, even with its constraints, is still the best HTML to PDF converter.
    1 point
  24. For me, it depends on the types of users, there are "Back-end Users" and "Front-End users". For the first I don't need to adjust the look and feel, just control the access/actions to avoid problems, mainly they are people from the business administration or team specialists. For the second, I generally need to create a profile/settings section on the Front-end that matches the look of the website/brand. Usually they are public/unknown people/customers from all over the world and I always want to keep them out of the PW core. But is not a big deal because building a custom Front-end user manager or access control is also very easy using the API. For this particular project it's easy to do it on the Front-end, you just need to know the user/role logged to show/hide information in the template files. Using the free LoginRegister module is essential, but if you can go for the Pro version, much better.
    1 point
  25. I have real strange feelings when i think about letting all frontend users enter the admin backend. May be i have to change my vision about the backend first.... Will try it...
    1 point
  26. I am working on that trust me, but a little video editing and Kdenlive skill gap which I am working on, I have tons of materials to push for Processwire learning. Processwire is awesome I am coming from Symfony and Spring Boot and Processwire makes alot of things easier and so much you can do. I will let you know.
    1 point
  27. Unfortunately I'm not totally happy with the module as it is. One thing is the decimal issues shown by Lostkobrakai, the other thing is that in my setup the need has come up to list all revenue that have 20% vat etc.; This is at the moment not possible using this module, because the data is stored in json objects. While it would be possible to query the JSON directly in the DB with current mysql versions, the problem is also that those revenues can not easily be enriched with other data (like some tax codes or the like). So I need to rethink that module soon 😐
    1 point
  28. Are you going to spread that love in all your modules? 😎
    1 point
  29. 1 point
  30. Everybody please take this pandemic really seriously!! Panic does not help for sure, but ignorance or underestimating this situation will cost the life of thousands of people all over the world! As the following chart shows, the mortality highly depends on the amount of people that are in need of medical care at one time! Taken from link 2, see below. I have underestimated it myself just like almost anybody in europe has, as nobody of us here has ever experienced a situation like this before (in contrast to asia). Here are two links that I encourage everybody to read, even if you live in an area that has not (yet) been affected: 1) https://www.washingtonpost.com/graphics/2020/world/corona-simulator/?fbclid=IwAR0ABgvQGxm005seLywxDkZScKImi53Du9lzAlMwrDH6qsaaefW-Oux-Gao They have great simulations of how such an exponential growth can/will happen and what every single person can do against it! 2) https://medium.com/@holger.heinze_81247/coronacodex-my-commitment-during-the-covid-19-pandemic-76613656dac0 I hope that was not offending the forum rules that don't want political discussion... I work 100% remote now and I encourage everybody to do the same if at all possible. Not because I'm afraid (luckily I'm not at high risk as I'm young and healthy), but to take responsibility for all the people around me and keep the number of people needing medical care as low as possible so that the staff in the hospitals does not have to decide which patient (with severe symptoms) is treated and which is not (and will likely die).
    1 point
  31. True. At least we got Migrations and RockMigrations now. Why not? Does that feel more like a router? $this->addHookBefore('ProcessPageView::pageNotFound', function($event) { $url = $event->arguments(1); // ensure trailing slashes? if($url[-1] !== "/") $this->session->redirect("$url/"); // prevent pageNotFound to fire $event->replace = true; switch($url) { case: '/my/route1/': return $this->route1(); case: '/my/route2/': return $this->route2(); default: $event->replace = false; } });
    1 point
  32. I've uploaded a new version (0.9.5) to GitHub. It tries to handle DB connection loss errors and it has a basic profiler to optimize your import routines. See the wiki for more details. Note: TaskerAdmin needs some fixes in its JS-based task executor. Don't use this feature atm. (Cron is always the preferred task execution method.)
    1 point
  33. If you're not harnessing the backend from ProcessWire I'd personally tend to not use ProcessWire. While it's entirely possible to do so (maybe also search for prev. discussions on the topic) there are some parts, which in my opinion discourage that kind of usage: Lack of proper testing capabilities. There are topics on how to do TDD with processwire, but the options on managing db state or handling requests in tests are not there. If you need to manage a lot of diverse data the autoloading of every template/field on each request can become a bottleneck. Working around it by reusing more fields/templates can work, but isn't great either. The selector engine for pages is great for light to medium complex stuff, but complex selections and especially aggregations need custom SQL or third party solutions like RockFinder. Also if you're not careful it's tempting to fall into n+1 query problems with fields / relationships being lazy loaded by default. Transactions are hardly used by the core, so if you want/need to prevent partial updates from happening you need to ensure that on your own by wrapping stuff into transactions. Not to say ProcessWire isn't otherwise a nice system, but those are the things I'd urge anyone to evaluate before using ProcessWire in a web application project.
    1 point
  34. "framework" and "web application projects" are very very loose terms... If you could describe a bit better what you are trying to build, I'm sure people could chime in with more "to-the-point" suggestions, or concrete real-life examples from their own experience. There are various ways how to extend / customize the whole backend. Custom dashboard, custom modules etc. @bernhard has an excellent, epic tutorial how to create your own module to handle potentially... well, just about anything you'd want. So, I guess if you want to get constructive feedback here, you should elaborate on what you're trying to achieve. And what exactly do you miss in PW that you have in Laravel or Silverstripe.
    1 point
  35. Thank you all, for these comprehensive replies! I'll check out the links, etc. The right tool for the right job is indeed the point. So far, at least, I'm VERY happy with ProcessWire. Who knows: I may never need Laravel at all. Time will tell. Thanks again! Peter
    1 point
  36. In my opinion you can build amazing backend web applications with ProcessWire, as I already built some with it. A big difference is, that most frameworks like Laravel do not come with a backend. So you have to use Laravel Nova or Voyager to create a nice looking backend. ProcessWire on the other hand comes with a nice customizable backend. Depending of the type of backend/application you build, you have to "bend" the PW backend to your likings, this includes removing features, or writing modules to get the behaviour you would like (for example restricting users to a branch). In other frameworks you start with "nothing" or a boilerplate and develop the features you like, which might be more work, but you get a very tailored application. You could do this with ProcessWire also, if you like, because you don't have to use the included backend. What I was missing for example in Laravel Voyager were field dependencies, which hides or shows fields depending on the state of another field. One big drawback of ProcessWire is the sync between a live server and your dev server. Because ProcessWire does not distinguish between structural and content pages (or I am not aware of it), updating a live server with changes you made on dev is very cumbersome. There is some discussion about this going on here on the forums: or here
    1 point
  37. Hi Mikie, the need is definitely there but I think Migrations is the best option already. See the blog post here: https://processwire.com/blog/posts/introduction-migrations-module/ There's also some discussion about that here: See especially my comment regarding automating PW's internal import/export featurs and the problems you might get: And also see the comments by Benjamin at the very end of his blog post.
    1 point
  38. You can also use timestamps in a PageFinder selector or anything that works with strtotime(): $zaehler = $page->children("einsatzdatum>=first day of January 2017, einsatzdatum<=last day of December 2017");
    1 point
  39. Default session lifetime is 86400 seconds. You can change this to any value you want. // config.php $config->sessionExpireSeconds = 86400; Allow/ disallow sessions (and the wire cookie) under conditions. Remind that you need this to have access to the backend admin. // config.php $config->sessionAllow = true; If you want to disable cookies only for the frontend /** * config.php * if we would use cookies only for the admin area * */ $config->sessionAllow = function($session) { // if URL is an admin URL, allow session if(strpos($_SERVER['REQUEST_URI'], $session->config->urls->admin) === 0) return true; // if there is a session cookie, a session is likely already in use so keep it going if($session->hasCookie()) return true; // otherwise disallow session return false; }; If you want to use cookies respecting EU Cookie law I recommend Cans Module MarkupCookieConsent in combination with this settings. /** * config.php * if we would use cookies only for the admin area * */ $config->sessionAllow = function($session) { // if URL is an admin URL, allow session if(strpos($_SERVER['REQUEST_URI'], $session->config->urls->admin) === 0) return true; // if there is a session cookie, a session is likely already in use so keep it going if($session->hasCookie()) return true; // user accepted cookies due to EU law (Module MarkupCookieConsent) if(!empty($_COOKIE['eu-cookie'])) return true; // otherwise disallow session return false; }; Use the core module SessionHandlerDB to store session vars in the database. Learn more about session setting options and sessions by reading the comments in the files /wire/config.php or /wire/core/Session.php of your processwire installation.
    1 point
  40. Hi @cb2004 That's a fine start However, it will also match "-", "--", "---", "-2000", "-0", "-1000-1", "1---", "31415926" etc. If you are expecting a 4 digit start and end year separated with a single dash then you will need to use a more restrictive/specific regular expression. Assuming the start year is in the 1900 to 2099 range, and the end year in the 1900 to 2999 range, you'd need something more like this; Also, if you are going to be splitting this string up into the start and end year, you might want to use a urlSegment for the start and a separate one for the end year. If that is the case, you'd use ^(19|20)[0-9]{2}$ for the start urlSegment and ^(19|2[0-9])[0-9]{2}$ for the end urlSegment. Hope that helps!
    1 point
  41. As a novice in real PHP programming (not this coding trial&error thing...) i've to say this kind of documentation is not that great, too. The great API overview don't really help if you need a advice how to create a specific thing with a module. You have to search for a similar module and study how this is done in this module....then you find out that there are more than once possibilities and i don'T know which is the best/actual option...and so on. Ryan's blog entries are great stuff to read....but it is all like a puzzle to start with a own bigger module...small ones are written fast and straight with one or two simple functions/methods that output some markup or a textformatter. But if i take a look on the project of GM with the forum part i could feel a little bit what this topic causes... @GM - but the October CMS builder is nothing you search for - it is more like building inputfields and forms for datasets....and this is what PW does per default...set a special template, fields, userrights and relations via pagetable and your backend UI is ready to use - no module creation needed! THIS is one of the biggest reasons why i switched to Processwire i could create so much without create a proprietary module! You look for a documentation about module creation and a actual collection of best practice. But you are right just two (1, 2) official resources of docs for module creation and some links on other modules as examples are a all a good PHP developer need, but someone that is familiar with the frontend usage of API and has some experience with basic hooks and this stuff, that is willing to go one stepp further - this step is a bigger one in the PW universe... Not that i missing something - if i would need a forum i would probably go the hard way with templates, fields, and some frontend magic - but to have this a module like kongondo's great blogmodule would be a real good alternativ and much faster setup for sure. To get something really positive from this threat we could define a short list what kind of things are need a better documentation or better examples maybe we can collect a link list of best practice code from some github repos and a little description on them? Best regards mr-fan
    1 point
  42. @cs I can't argue with anything you have said. I agree with it all. I just think the documentation could be improved and also tools could be developed to make module development easier and also more secure. PW will become more popular over the next few years, and I'd hate to see an influx of badly written insecure modules due to a lack of documentation. I also appreciate your feedback. PW is without a doubt the best CMS / Framework out there, and believe me I've tried them all. That's why I get passionate about these issues.
    1 point
  43. @GuruMeditation, You and everyone on this forum are an important part of this ProcessWire Community. Learning the many things about ProcessWire can be difficult, I know it's taken me a long time. I'm still learning about module development. I would hope that you don't give up or think that your concerns have no merit. The fact that you bring them up, means that we are made aware and I know there are many people on this forum willing to help with anyones understanding. Everyone's level of understanding is different, however I believe you will get there. Things in ProcessWire are changing all the time, unfortunately the documentation doesn't always translate into concepts that novices (me included) can quickly understand. I know I work with things and eventually the lightbulb comes on and I can move on. Finally, ProcessWire is a great tool that can help you do many things. There are many things to learn and I hope that you will continue to ask questions, as we all learn something new when people give freely of their knowledge as they do on this forum.
    1 point
  44. I understand your point. The information you need for building a module is not documented in one place but spreaded through the forum and sometimes you even have to look in the core to find what you need. However it takes a lot of time and effort to make documentation and even more time to write them in such a way that even beginners can understand them. Comparing with October CMS doesn't say much and neither does Processwire have a community like Drupal contributing to documentation. The history and nature of Processwire is totally different. But maybe there are more sources as you think that could help you making your own module: https://processwire.com/api/modules/ http://wiki.processwire.com/index.php/Module_Creation https://processwire.com/talk/topic/1641-learning-module-development/ https://processwire.com/blog/posts/new-module-configuration-options/ http://modules.processwire.com/modules/process-hello/ Things that are not covered for you in those posts you can always ask here in the forum.
    1 point
  45. This is where PW frustrates me. I'm currently writing a module, and I am by no means an expert like most people on here, but writing a module in PW is a game of trial and error and a pain in the arse for idiots like me. I've had to look through other modules and core files to find what I'm looking for (are new users going to bother looking through the core code for the information they need?). There's a serious lack of documentation concerning module creation. I really don't see a PW module that can compete with the OctoberCMS plugin to be honest in terms of simplicity for creating other modules. As far as I can tell from the video, OctoberCMS makes it easy to create custom plugin database tables that keep all the plugin data within that table as rows. From what I've gathered with PW we need to delve into the world of Fieldtypes, and that isn't an easy task. But what do I know, I'm retarded when it comes to all this.
    1 point
  46. Is there any way I can send you money? (On some occasions I believe I have threatened to send money to someone brave enough to take a stab at creating a PW-based forum solution)
    1 point
Γ—
Γ—
  • Create New...