Jump to content

flydev

Members
  • Posts

    1,360
  • Joined

  • Last visited

  • Days Won

    49

Everything posted by flydev

  1. Can you share a reproducible sample we can copy paste for testing on our side?
  2. @MarkE in order to get rid of any frustration, I suggest you try to understand the order of execution of pw, as suggested by @BrendonKoz profiling a fresh install, and then adding your module and starting profiling again, and then comparing each runs is your best bet and will make things clearer for you. If you dont have ProfilerPro, just tell us if you are running on windows or linux and I will write you a small tutorial to get a profiler with xhprof, it's easy and take 2 minutes.
  3. @heybran you will find the direct access to Duplicator's packages management from menu Setup > Duplicator On server, you can list packages under ls -lah /public_html/site/assets/backups And welcome to the forum ?
  4. @PavelRadvan the module - from the PW Directory - is pulled from Github, so it's the same content / version. The update field you see on the PW Directory, is the last time of the pull.
  5. Hi @PavelRadvan thanks. What you read in VSCode is just a warning, so no problem. I just opened an issue on github to remind me of it, I will write the php 8.2 upgrade at the same time of wire-cli. About the PW Directory, no idea, I will look at it, but the last stable version is v1.5.2 ?
  6. Welcome @Alpina You can also find condensed informations on this - GPT - thread (I just posted a result to start a presentation slide). @Alpina do not miss Jonathan Lahijani signature link ?
  7. A persuasive starter-slide-presentation and key features. version: GPT 4o ? Why ProcessWire? Elevate Our Digital Projects Introduction to ProcessWire What is ProcessWire? ProcessWire is an open-source content management system (CMS) and framework. Known for its flexibility, scalability, and ease of use. Ideal for websites, applications, and digital experiences. Key Features Key Features of ProcessWire Flexibility: Create any content structure without limitations. Scalability: Suitable for small websites to large-scale applications. API First: Powerful API for developers to create custom solutions. Security: Robust security features to protect your data. Performance: Optimized for fast loading times and efficient resource usage. Benefits for Our Agency Why ProcessWire for Our Agency? Customizable Solutions: Tailor-made for client-specific requirements. Developer-Friendly: Simplifies complex projects with clean, well-documented code. User Experience: Intuitive admin interface for easy content management. Cost-Effective: Open-source nature reduces licensing costs. Success Stories with ProcessWire Case Studies Case Study 1: A multinational company improved their site performance by 40%. Case Study 2: A local business streamlined their content management process. Case Study 3: An e-commerce platform saw a 30% increase in user engagement. Community and Support Community and Support Active Community: Thousands of developers and users contributing. Extensive Documentation: Comprehensive guides and tutorials. Support Options: Community forums, professional support services. How to Get Started with ProcessWire Getting Started Installation: Easy to set up with minimal server requirements. Training: Availability of resources to get up to speed quickly. Demo: Interactive demos to explore features firsthand. Conclusion and Next Steps Conclusion and Next Steps Summary: Recap of key points about ProcessWire’s advantages. Call to Action: Schedule a workshop/demo to explore further. Contact Information: Details for further questions and support. Questions & Answers Questions & Answers Open floor for any questions from the team. Encourage discussion on how ProcessWire can meet specific needs. Notes for Presenter: Engage the Audience: Start with a brief personal anecdote about your experience with ProcessWire. Highlight Benefits: Focus on how ProcessWire can solve specific pain points your agency faces. Interactive Elements: Consider live demos or video clips showcasing ProcessWire in action. Follow-Up: Propose a follow-up meeting to discuss implementation steps. Best regards, ChatGPT (4o)
  8. Hi, @Ivan Gretsky effectively, I started to give little time again on an experimental project I started nine months ago where the goals is let a pw developers build a desktop application using php/pw knowledges without digging into advanced javascript/bindings or learning a native language. About the db, you want to work with statitcaly embedded mariadb versions, SQLite could be possible, but will require a lot of work.
  9. It can be confusing as the readme contain a typo in the given example, the right command is the shorter, without a dash: `wirecli`
  10. Hi, I personally dont remember how the whole thing works, I suggest you to try @Juergen form if you can’t afford the paid v2 maintained by Ryan.
  11. Ok, so would you need a feature that would allow you to customize asset paths during a backup?
  12. Hi @protro But does it work even if you upload the site manually? I am asking that because as the path is written in the body field raw data in the db, with or without duplicator, image paths should be corrupted in any way. As example and based on your setup, the data of a body field with an image should look - on dev and prod - something similar to (can you confirm ?) : <p>Sagittis turpis ad habitasse risus lorem phasellus platea imperdiet aenean, platea porta adipiscing dapibus velit eros purus malesuada laoreet vestibulum</p> <p><img src="/my-site/site/assets/files/1/44849-the-image-2016.897x0-is.jpg" alt="" width="897" /></p> <p>...</p>
  13. @Flashmaster82 can you give me details about the version you are trying to install and your php version please?
  14. Hi, it seem a server issue, but for now we cant see what is the root source of the disk being filled. Do get an access to ssh again, which is the most important thing for now, you could use à logged user, and then in the admin, delete all logs file, then SSH asap. Once in the server, check /var/log and remove some old *.gz or the bigger to get more space, then investigate. Try to make a backup or an image of the server if you can before doing root cmd.
  15. @James Morris I had fixed it in on the feature-encryption branch, I will need to finish the feature and merge it, but meanwhile, can you try this version and let me know and confirm ? there: https://github.com/flydev-fr/Duplicator/tree/feature-encryption direct-dl: https://github.com/flydev-fr/Duplicator/archive/refs/heads/feature-encryption.zip Edit: @James Morris please try instead the dev branch, It is based on the latest v1.5.1 and contain the S3 fixes. dev branch: https://github.com/flydev-fr/Duplicator/tree/dev direct download: https://github.com/flydev-fr/Duplicator/archive/refs/heads/dev.zip
  16. Yes I saw that, but it was in the commented line so I didn't fixed it instantly, will push the fix. Ok I see, in first instance I had in mind to put a button to get the template script copied in the clipboard in order to paste and modify it. I will push also the fix following your recommendation ? I was also thinking of pushing a new feature that would allow you to export and import module settings on other installations, what do you think, it could help?
  17. @adrian with v1.5.1 you can write your dump script in the custom shell script config field like that: #!/bin/sh # Custom Remote Dump # (1) Set up all the mysqldump variables FILE=%%FILE%% DBSERVER=%%SERVER%% PORT=%%PORT%% DATABASE=%%DATABASE%% USER=%%USER%% PASS=%%PASS%% CACHEPATH=%%CACHEPATH%% # Fix trailing slash in cache path if needed CACHEPATH="${CACHEPATH%/}/" OUTPUT="${CACHEPATH}${FILE}" # (2) in case you run this more than once a day, remove the previous version of the file unalias rm 2> /dev/null rm ${FILE} 2> /dev/null rm ${FILE}.zip 2> /dev/null # (3) do the mysql database backup dump (remote) mysqldump --opt --protocol=TCP --user=${USER} --password=${PASS} --host=${DBSERVER} --port=${PORT} ${DATABASE} > ${OUTPUT} You can of course also set hardcoded values.
  18. Hi, sorry for the delay guys. @adrian I made it configurable, it should also check for carriage return when a custom script is given, please check releases/tag/v1.5.0 and tell me if you need something more. Edit2: Rereading your post again, I just realized that I omitted a detail... it'll be ok on v1.5.1 sorry. @Boost Thanks ? . You can check if mysqldump is avail. on the config page. And if needed, to be sure that mysqldump is found, you could run some tests, also make sure - with Duplicator 1.4.29 - that the binary zip is available. Duplicator v1.5.0 show you this information on the module configuration page, with some more friendly exec return code error when the script run (see link at the end of this post). Some suggestions/debug steps if needed: is mysql in env path and runnable? with normal user type `mysqldump` and `zip` if #1 is ok, try with user/group assigned to your web server, eg. with www-data: sudo su www-data -s /bin/sh mysqldump zip For `mysqldump` only - grab the dump script there and adjust variables in order to make a test cd /path/to/site/assets/cache sudo wget https://raw.githubusercontent.com/flydev-fr/Duplicator/v1.5.0/scripts/mysqldump.unix.sh sudo nano ./mysqldump.unix.sh and set correct or dummy values (or with vim, etc..) sudo chown www-data:www-data ./mysqldump.unix.sh sudo su www-data -s /bin/sh chmod +x ./mysqldump.unix.sh run a test: ./mysqldump.unix.sh Anyway, you should grab the last version I just release before messing with it, because if the issue is that zip isn't available, it will fallback using WireZipFile. Edit: Just a word, I got this issue and it was zip that was missing (about exit code 2). https://github.com/flydev-fr/Duplicator/blob/8d2ee3c0327baf4cee0128b12a0724d20dadfb53/Classes/BackupDatabase.php#L253-L270
  19. Hi @protro Rainbowkit is a really good package but last time I checked it (some months ago) I could see that it's built on wagmi, which is only working with React and then didn't paid so much attention to it as I am only coding on Svelte. Recently I saw popped a port of wagmi on svelte but still not tested it. FYI, the inertia module linked miss a little update, and the samples provided you will found are deprecated and are built using webpack. Did you have some experience with JS libs or frameworks (I mean vue, react or svelte) ? If not, I suggest you to start on Svelte as it's really the easier and natural frameworks to start on without experience. Anyway, as you said it, links above will helps you for sure. With any app sample you can find, you just have to send an ajax request to your ProcessWire page/template to get an answer with the required api keys/tokens/ whatever you need. Example: // 1. create a template called `web3` with a text field called `apikey` // 2. create php template in `site/web3.php` and leave it empty with no code // 3. create a page called `web3` with template `web3` // 4. in `init.php` write: // this function will help you to fight CORS issue between your app and pw site function cors() { // Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { // Decide if the origin in $_SERVER['HTTP_ORIGIN'] is one // you want to allow, and if so: header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) // may also be using PUT, PATCH, HEAD etc header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); } } /** * Example of a simple router using ProcessWire's built-in URL hook system. * By appending /json to any page URL, you'll get a JSON representation of the page * * Require ProcessWire 3.0.173 or newer. * see: https://processwire.com/blog/posts/pw-3.0.173/#outputting-json-data-about-any-page-when-the-last-part-of-the-url-is-json * * Note that this is a very simple example. For more advanced routing, you might want to * use a Process module like AppApi made by @mauricio. * */ $wire->addHook('(/.*)/json', function($event) { $page = $event->pages->findOne($event->arguments(1)); // fight cors (for test purpose only) cors(); if($page->viewable()) return [ 'id' => $page->id, 'url' => $page->url, 'title' => $page->title, 'apikey' => $page->apikey ]; }); // from any javascript lib or framework, send a request and get an answer const response = await fetch("https://localhost.local/web3/json"); const data = await response.json(); console.log(data); // <-- contain json answer /** { id: 1000, url: "https://mywebsite.local/web3", title: "web3 page", apikey: "API-ABCD-0123" } */ I've fallen behind on the vite and inertia module release, but it's coming, it's a matter of days, I suggest you to wait for it and try the web3 sample coming.
  20. Hi and welcome @ryangorley ? 1. give a read to: https://processwire.com/about/what/ and 2. refer to #1 3. the very first one tool you and the team need while working with ProcessWire is: https://adrianbj.github.io/TracyDebugger/#/ https://processwire.com/talk/forum/58-tracy-debugger/ ✨Suggestions: - keep an eye on @Robin S gems (modules) handy on every situation: https://github.com/Toutouwai - subscribe to weekly.pw - and do not hesitate to search and use the forum, even for "i will feel dumb" questions. Enjoy ?
  21. Yes, and I misread your post, I didn’t paid attention that the site is served from MAMP through prepos proxy. And as you already spot, they are transformed in your bundle source. Keep in mind that all process calls are Node.js things and aren’t available in the browser. Anyway, on the example of Alchemy, the api key is made for you, what I mean is, the front app make a request to ProcessWire endpoint, then the needed requests are made from ProcessWire to alchemy endpoint using your api key stored on server side, eg. in template or module, db, .env file/process, then Alchemy answer your server, and finally, ProcessWire send back the response to the front app. It seem you got the idea. What is complicated on your side, if I can help? If is just to test and see external services like alchemy from local, just do not scratch your head to much, and use them as they are, included in the bundle. Using env variable on this case make things easier than going into the source code to change them.
  22. @protro nice tool, I think I am going to build something similar but based with vite/rollup. About your issue, as you pointed it, your are serving your website from MAMP server, then the env will not be available on built app when served by MAMP and you will need to use a solution like php dotenv, and I saw you already read the thread about dotenv then I assume you got it working ? It's also worth noting that by using prepros you are bundling your app with webpack and not vite or rollup, keep in mind that when you will head to js libs documentation or when trying to find what's is not working. Under the hood, there is the stack list: Webpack 5.86.0 Babel 7.22.5 Autoprefixer 10.4.14 Node Sass 9.0.0 PostCSS 8.4.24 PostCSS Preset 8.4.2 Dart Sass 1.63.3 Tailwindcss 3.3.2 Terser 5.17.7 Yes. Or to be more precise, what we can call Entry points. It contain the entry point of your app and the vendors. For more information about the splitting process head to webpack doc.
  23. @strandoo without brainstorming a lot, you could setup an hidden pre-filled field. You certainly want to use `processLoginForm()` and optionnaly `loginSuccess()` hooks. Example there on this old thread, feel free to ask for help: Edit: I highly suggest you to buy a license for the Pro version if your project can afford it, the module is safe, but when dealing with secure access, you want something maintained. You will have possibility to ask ryan directly, and it's a way of "sponsoring" Ryan dev, without speaking of the benefit to the community. ? ... comes from the company’s Managing Director (you want to keep a good reputation ?) That was my positive comment of the day ?
  24. To users of TailwindCSS / Windy, I think you will want to use UnoCSS. @MarkE just see your thread about your page builder, to avoid workarounds or hacks, you don't want to use interpolated or concatened strings. <div class="<?= $error ? 'text-red-600' : 'text-green-600' ?>"></div> Do not pay to much attention to this comment, it's just for the science.
  25. It is. You will be able to use vite module with static or dynamic routes. Two-month bug hunt completed at work so hopefully releasing a beta this weekend, I think I will find the time to finish the skyscrapers profiles based on Svelte, Vue and a dashboard sample with the launch of the module to get you up and running quickly. I can't wait to hear what you think of something that, thanks to @ryan since pw-3.0.173, makes things so much easier about routing for a simple SPA with less than ten lines of code. About the Inertia setup, I hope to make sir @FireWire switch from laravel or at least to give a try ?. Stay tuned.
×
×
  • Create New...