Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


LuisM last won the day on January 22

LuisM had the most liked content!

About LuisM

  • Birthday 03/17/1985

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
  • Interests
    Product and Project Management.
    Coding and trying new things.

Recent Profile Visitors

800 profile views

LuisM's Achievements

Full Member

Full Member (4/6)



  1. Yes, currently generating diagramms by code definition in the editor, but planning to let generate diagramms by parent-child relations in a future iteration. Its good for now and me but not that user-friendly ?
  2. Well hello, today is the day I would like to introduce Flowti, my biggest Project I have worked on for the last 2 1/2 Years and the reason I am developing Symprowire, too. So, what is it all about you may ask. Flowti is my daily driver to Plan, Document and Execute Projects Flowti is my tool to work on concepts and ideas Flowti is my tool to present Work Flowti is my tool to organize and support Product Management Work Flowti is my digitalization Framework To give you a glimpse about what Flowti is already capable of I attached some screenshots for you to study ? To make this one short, I plan to fully Open Source Flowti this year after Symprowire reaches v1.0 and will use this post as a way to show progress. Cheers, Luis
  3. I wish everyone a good start into the new Year. To round up this year I released v0.10.0. The library is runnable as intended in a ProcessWire Environment and fully testable in Standalone mode for developing. Symprowire Release v0.10.0 - Backpain I will publish a demo implementation next year. Hope it will be of use for some of you guys.
  4. Oh BABY... I am nearly done with wiring it all together ? Routing is based on the Template which will ultimatly resolve to a Controller based on the Template Name.
  5. its coming together nicely ? The Framework itself is running without ProcessWire and is capable to get a ProcessWire instance injected as a Service. Which is HUGE! What does this mean? Once I manage to resolve ProcessWire related config inside the Kernel we can then use Symprowire to build a Testsuite for the ProcessWire Core itself!!! I also managed to abstract the whole Setup away into an easy to use API for the Developer. The future Symprowire Template file will look like this <?php namespace ProcessWire; use Symprowire\Symprowire; /** * This is the Symprowire FrontController * ----------------------------------------- * * We require the composer autoloader * Add some parameters to Symprowire * Execute the App with the current ProcessWire instance * If ProcessWire is running in debug and TracyDebugger is installed we will dump the whole executed Kernel to Tracy * and echo a HTML string back to ProcessWire * */ require_once($this->config->paths->site . 'vendor/autoload.php'); $params = [ 'renderer' => 'twig', ]; $symprowire = new Symprowire($params); $symprowire->execute($this->wire); if($this->modules->isInstalled('TracyDebugger') && $this->config->debug) { bd($symprowire, 'Symprowire / Executed Kernel', [4]); } echo $symprowire->render();
  6. Nothing to add... let the pictures speak for themself (hint: we are testable) ----
  7. There are a few things I want to solve, atleast for me, with Symprowire. - poluted global state - dependency injection - clean separation of concerns - Raw PHP in Template Files - no standards in templating - testable code Due to the way ProcessWire handles his templating the global state could get pretty poluted with vars floating around and on top you will most likely add business logic to your template. I prefer a more concise and separated aproach. As a developer I do want to use libraries from the Userland with composer to manage my dependencies and not have to wrap them into a module with the added overhead. I need a Dependency Injection Container to have a nice and manageable way to use my Objects. I want to use twig as template language to benefit from template inheritance, autoescaping and all the other goodies it ships. I need proper Event Dispatching and Handling driven by Types as Subscribers. I want to be able to test my codebase. Symprowire will be niche and way too much for a light, few pages webpage, but it will give you a well structured way for accessing and rendering your data outside of the admin. Symprowire is more like an application framework but could replace the ProcessWire renderer easily and is flexible enough to just serve your templates. In fact, I pushed the new concept to the repo so you may have a look at the codebase. As of now, Symprowire will add ~ 7-12ms to your Request after resolving to a Controller action and gives you a proper Controller Resolver, Event Handling, Twig, Dependency Injection. Im looking forward to release 1.0 ?
  8. @MrSnoozles thanks for your kind words. Yeah my main intent is to handle ProcessWire in a sane way with current "best-practices" in PHP Userland. Which includes things like Composer all the way Dependency Injection Migrations!!! Separation of concerns (hello Twig for example) proper Headless Content distribution Nice, I had the exact same thoughts so far ? I really like ProcessWire and it is my first go to whenever I need a MVP or an Prototype. But in the long run, or whenever I have more than 1 Developer working on the code the nightmare begins, atleast for me. I really dont know ? The main problem is the way ProcessWire is organized, as it was never intended to be used as Dependency in another Project. So yeah, right now, whenever @ryan is in production mode and pushes new Versions I have to manually update the codebase. The thing is, I started to develop Symprowire because I had a Prototype in ProcessWire which acted as a Proof of Concept for some client presentations. To develop the concept and bring it to production ProcessWire just wasnt enough, I learned it the hard way ? *cough* migrations *cough cough* So in the course of 1 1/2 year I ported the PoC to Laravel with the intent to use Laravel Spark as our Product is a SaaS with fully fledged Multi-tenancy. Unfortunatly Laravel Spark wasnt that good of a solution back in the days as it was too opinionated and the general direction Laravel as a Framework is developed... mhhh I would say is not my cup of tea. So I started to port over to Symfony as we worked with Symfony some years ago to develop a Marketplace supporting 72 Languages and had ~ 350 active sellers from the beginning. I would say it was a fairly big project and I felt confident to work with the Framework, but I missed ProcessWire's CMS/CMF possibilites which ultimatly brings us to Symprowire. As of today, we ditched ProcessWire completly from our Product and went full ham with Symfony as we are using symfony/notifier for async notifications symfony/messenger for RabbitMQ api platform for our headless needs and all the bits and pieces symfony brings To give you an idea, I just published a basic Fullstack Template covering all our needs. You can find it here: https://github.com/Luis85/symfony-full-skeleton Right now, I really dont know how to develop Symprowire or in which direction I would like to go with the Project. I have a lot of Ideas but every idea would be a complete refactor. I thought something like, yeah just copy the Data Modell ProcessWire uses and port it to Symfony to make a new CMS based on Symfony with the spirit of ProcessWire. I really dont know right now ? What I know is, I want to contribute to ProcessWire.
  9. Bump up to v0.6.0 Breaking Changes renamed AbstractRepository to AbstractPagesRepository added new ProcessWireService / ProcessWireServiceInterface as wrapper to access ProcessWire in a centralized way and to reduce wire() function calls. replaced all wire() function calls with using ProcessWireService
  10. Bump up to v0.5.0 I added a tutorial for a simple Symprowire Blog Application. You can find the tutorial here: https://github.com/Luis85/symprowire/wiki/Symprowire-Blog-Tutorial To keep up with development and organize the project I added a GitHub Project and corresponding Issue Management. You can find it here: https://github.com/Luis85/symprowire/projects/1
  11. Thank you Teppo for that detailed answer. Really appriciate it. My first take was similiar to Wireframe. Adding a Template as alternate Template file and replace the render accordingly. But it didnt felt quite right, taking the tools Symfony provides into consideration. I now let Symprowire act as a drop-in solution to replace ProcessWire rendering completly. What this basically means is, ProcessWire will no longer be in charge about anything URL or rendering related. As of now Symprowire will intercept the Request and manage routing decoupled from ProcessWire. So ProcessWire will step back and act as a Data/Service Provider for Symprowire. What I actually did here is separating into more or less 3 layers. ProcessWire as Data and Server Provider Symprowire as Businesslogic Backend MVC style powered by a Symfony Architecture a separated Frontendlayer served by Twig Templates ProcessWire Admin will be used as Data Editor / Content Management System and Symprowire will consume this data and do stuff with it before handing over to Twig.this This would describe it best I guess. I actually use Wireframe as Output Framework in the Project im working on ? I am still not sure if this should be a possibility or an option in Symprowire. Its tempting to let the Developer decide, but on the other hand I mainly create Symprowire to give a somewhat strict structure and to have Phpunit tests in the not so far future. Which would be hard to integrate if just parts could be tested. Decisions decision decision... ? Another reason I am into this is the clear and concise way Symfony handles the Request/Response, it just makes so much sense for me to combine this both worlds. Take the very very strong parts CMS/CMF wise from ProcessWire and combine it with Symfony. I dunno ? just feels to be like this Dont worry, I knew you would give great insights the moment I tagged you ? Have to dig into TemplateEngineFacotry code now ?
  12. Working Full-Time on the Module for this week after getting it running its just good old Symfony Development to make the Glue hold tight on ProcessWire. I plan to build a Blog with Symprowire next to see if everything works as expected. I added a small Project over at Github to keep you informed. Will continue to post release notes. For now, I edited the 1st Post as this would be my Base to develop the Blog.
  13. Release v0.3.0-rc1 - added Webpack Encore Support - removed Symprowire Autload condition. Symprowire is now configured to server every request except admin - implemented recommended template structure into lib/twig - added more context and information to the HomeController - added $user and $session as Global Twig Variable // both as ProcessWire Objects - implemented example Webpack Encore Application using stimulus.js served by lib/twig
  14. Oh hahaha, my question is more about, what would be the best method/hook to intercept ProcessWire rendering or routing to replace the Response completly.
  • Create New...