-
Posts
6,674 -
Joined
-
Last visited
-
Days Won
367
Everything posted by bernhard
-
just a quick sidenote to google pagespeed insights and pingdom... i analysed a page today by curiosity because the images where loading slowly... devtools showed that the frontpage loaded 19,8MB (wordpress, what else...); pagespeed insights sais 80/100 "needs work". so i checked another site from some days before which i knew got 22/100... this one has 9,1MB for the frontpage... pingdom at least has the amount of seconds for load time and shows a percentage of slower websites... but still the 20MB site (pingdom said it are even 28MB) is faster than 38% of the tested sites... seriously?! ok, i get it... but jquery with its 84kB is too huge for the modern web
-
very nice, congratulation! and thanks for sharing
-
Preview/Discussion: RockDataTables
bernhard replied to bernhard's topic in Module/Plugin Development
Ok guys, I got some REALLY nice results today @dragan sorry, I was unclear in my previous post... I had to leave to a christmas party So here are some explanations and the new results: Table with 10.000 rows without cache: 400ms (see the screenshot) Table with 10.000 rows with cache: 200ms The key was to get the data directly from the database. Of course I knew before that this possibility exists, but I didn't know how to solve the problem of multilanguage and returning complex data (like $page->parent->title for one column) and still keep the setup of a table simple and straightforward. Now I found a great way and I'm really eager to start working on this What I meant by "stay on the client side" was, that I want all the data get transferred to the client and then rendered by datatables. The other option would be to use ajax pagination and load only junks of the data to the client. But having all the data on the client is a huge benefit for manipulating, filtering, sorting, charting etc.; and you where right about my "cache" wording: I'm talking about a cached string holding all the data for the datatable. So if the cache exists it just loads the string - if not it creates the string from the database and then loads the data into the datatables. Any wishes/ideas for features that I should think of when developing the next version of the module? ...see the feature list in the first post -
[SOLVED] Broken links in admin after moving site
bernhard replied to heldercervantes's topic in General Support
check your .htaccess https://processwire.com/docs/tutorials/troubleshooting-guide/page3 -
Preview/Discussion: RockDataTables
bernhard replied to bernhard's topic in Module/Plugin Development
got some very good news on this (it feels like christmas for myself, because this made me some headache over the last months and the solution is quite simple and solves a lot of problems). I did some performance tests on a table with more than 10.000 rows and got the following results here on my local test environment (laragon + i7 @ 2ghz). rendering the table with javascript test-data works instantly (using deferrender option, did not try without) rendering the table with data coming from pw pages and 5 different fields takes around 16s single-language setup without caching takes around 5s to load multi-language setup without caching around 8s with markup cache enabled 180ms the screenshot shows a multi language table with 10.000 rows and 12 fields that loaded in 9,1s when building the cache. thats some really nice results, because it will make the setup even easier and it will even work with multilanguage wich I didn't know how to tackle before. my goal always was to stay on the client side, because there you have all the power of datatables: you have a powerful API to filter, sort etc the table and this plays perfectly well together with other clientside libraries like chart.js; my testcase showed that the search and sorting was also very snappy so I think it's definitely doable! It will be the first project after my master thesis and I may have something ready around 03/2018 I don't think that's a proper way to do this. I think there are only the 2 options: Release it for free (donations are always possible and welcome of course) without any support, documentation etc. or release it as pro module and provide proper support and docs. maybe @kongondo or @apeisa can share some of their experiences with us (or at least with me in a PM)? -
Hi dst81 and welcome to the forum I think you are spot on with this. Ryan built PW mostly because he was not satisfied with other systems for his own work. This has some benefits (we all know why we love it), but i think you just found one drawback, because as far as I know Ryan mostly works on his own and so maybe collaboration with other devs was and is not the highest priority. Maybe it's similar to the situation that Wordpress can be bend to a CMS, and maybe Processwire can also be bend to a team/staging/dev workflow? I have to admit, though, that I'm also a single dev working mostly on my own or with a partner for the frontend (where a hacky ftp setup is sufficient for the time). So I have no experience how it could/would professionaly be done... So I'm just thinking loud here and that's no way ment to be an expert satement But nevertheless there is the Migrations Module that you should definitely have a look at! https://processwire.com/blog/posts/introduction-migrations-module/ Would be very interested to hear your results and see which road you took Good luck.
- 6 replies
-
- 1
-
-
- deployment
- git
-
(and 2 more)
Tagged with:
-
Preview/Discussion: RockDataTables
bernhard replied to bernhard's topic in Module/Plugin Development
Hi dragan, unfortunately not. I need to do a complete rewrite of the module. As i need it for all my projects it is on top of my todolist for the next year. I'm still not sure if I should release it free or as a pro module... But I hope I can release something around march 2018... -
not all pages showing up using Page Autocomplete
bernhard replied to dragan's topic in General Support
I'm happy with greenshot http://getgreenshot.org/downloads/ -
you could do this or that to solve your problem... glad you solved it. please update your post to show others that it is already fixed in a more obvious way (like the strikethrough), thanks
-
processwire already makes it very hard for attackers to just guess username+password. and you can even adjust those settings:
-
would be interesting to hear your approach on this (because of my datatables module)
-
i understand and support your request. i have'nt used it but maybe adrians batch child editor is an option for you? it can also render children in a field similar to page tables.
-
hi cloud8888, don't know what's wrong but i had a similar problem recently. I did a hacky quickfix and had no time to investigate this in detail. maybe you can have a look if that is somehow related to your problem?
- 1 reply
-
- 1
-
-
- repeater
- inputfield
-
(and 1 more)
Tagged with:
-
Client request: images inside "body" field - options and suggestions?
bernhard replied to OLSA's topic in General Support
@Macrura do you think it would be possible to update your module to also import images that were pasted from the clipboard? There is a ckeditor plugin that handles pasted image already. Maybe that could be a great addition! -
Client request: images inside "body" field - options and suggestions?
bernhard replied to OLSA's topic in General Support
I tried it with a local screenshot and it worked It works everywhere nowadays... web.whatsapp.com, facebook messenger, github or stackoverflow (don't know atm which one it was)... I'm sure such a plugin could be adopted to our needs and save the image just as if it was uploaded via a regular image field. and deleted when the field is changed and the image removed. -
Client request: images inside "body" field - options and suggestions?
bernhard replied to OLSA's topic in General Support
true. but i'm really missing a copy/paste functionality in the ckeditor field. It's always very annoying to create screenshots, create files, upload files, click on the image button, insert image, save. with such a plugin it would be: create screenshot, paste -
would be VERY nice to have this copy-paste functionality for CKEditor at least: https://sdk.ckeditor.com/samples/fileupload.html#uploading-dropped-and-pasted-images (working demo) see also
-
☁️ Duplicator: Backup and move sites
bernhard replied to flydev's topic in Module/Plugin Development
Ah, I understand! Ok then a message would be nice to keep the first steps for everybody as easy as possible. Thanks! -
☁️ Duplicator: Backup and move sites
bernhard replied to flydev's topic in Module/Plugin Development
hi flydev thanks for releasing this i just tried it and i got multiple errors "call to undefined function _(...". i changed all occurences from _( to __( and it worked. what is this single underscore function that you are using for translations? same for the process module. also i get an "unrecognized path" for http://duplicator.dev/processwire/setup/Duplicator/?action=packages can you set the process module to be installed automatically by the main module please? the backup worked like a charm. the installer seems to be quite similar to my kickstart project. i think there is great potential to combine both tools! unfortunately i got an error on the last step: the problem seems to be the config.php /** * Installer: Database Configuration * */ $config->dbHost = 'localhost'; $config->dbName = 'localhost'; $config->dbUser = 'localhost'; $config->dbPass = 'localhost'; $config->dbPort = 'localhost'; /** * Installer: User Authentication Salt * * Must be retained if you migrate your site from one server to another * */ $config->userAuthSalt = 'localhost'; /** * Installer: File Permission Configuration * */ $config->chmodDir = 'localhost'; // permission for directories created by ProcessWire $config->chmodFile = 'localhost'; // permission for files created by ProcessWire /** * Installer: Time zone setting * */ $config->timezone = 'localhost'; /** * Installer: Admin theme * */ $config->defaultAdminTheme = 'localhost'; /** * Installer: Unix timestamp of date/time installed * * This is used to detect which when certain behaviors must be backwards compatible. * Please leave this value as-is. * */ $config->installed = 1512033277; /** * Installer: HTTP Hosts Whitelist * */ $config->httpHosts = array('localhost', 'localhost'); as you can see im on windows + laragon. i used the latest dev version of pw -
this looks ok to me. what is not working? https://processwire.com/api/multi-language-support/multi-language-fields/#getting-and-setting
-
Hi SeoGuy and welcome to the forum, I don't understand your question. New pages are always created in all installed languages. They are just inactive by default.
-
Payment base class + PaymentStripe + PaymentPaypal
bernhard replied to apeisa's topic in Module/Plugin Development
i was curious, this worked for me: https://jsfiddle.net/3L0cdjsj/5/ -- removed -- You can change the description (item_name) and the price (amount) and you can use a button in your own style that fits to your website. -
thanks, i'm using IUC already and it's very handy - just didn't know the short name
-
Payment base class + PaymentStripe + PaymentPaypal
bernhard replied to apeisa's topic in Module/Plugin Development
sorry, didn't know that you can't set that up dynamically?? crazy. ok sorry, then i was of no help