Jump to content
wbmnfktr

ProcessWire Profiles - what's missing?

Recommended Posts

To make a long story short... the last few weeks I asked myself...

"What kinds of ProcessWire Profiles are missing or could be interesting for new/existing users?"

The answers were...

  • feature rich - with the full glory/monty of ProcessWire's features
  • basic default profiles - Agency, Portfolio, CV, kind-of-niche (Photographers, Musicians, ...)
  • verbose and detailed for starters
  • Premium Theme - kind of... like WordPress has

So I wanted to ask you... what could be interesting for you and maybe others out there.

I already created Sublime (theme based), pwRecipes (super basic starter) and PWBrecipes (advanced starter based on pwRecipes) but still... I want to create and offer more options for new and existing users of ProcessWire. I teamed up with my colleague and friend from Muskaat to create a nice multi-purpose theme/design to provide a nice entry-point for everyone in regards of ProcessWire but this will take time as it will be highly customized and art-directed.

There is a side-project of mine (some of you may know about it) where I want to provide all kinds of ProcessWire Barebones like an Agency-Theme-themed starter profile and such. But... to be honest... right now I'm a bit lost. I don't know what could be interesting or what might be needed. And yes... I don't know where to start. 😂

Is there anything YOU wanted to have being around as a site profile or theme or anything like this?

 

Every answer, idea and recommendation is highly appreciated.

  • Like 4

Share this post


Link to post
Share on other sites

Regarding Site Profiles: what is really missing is a system which turns one into an updatable "theme". Especially when targeting beginners, it would be preferable to provide a way to keep those profiles updated via the admin, like Ryan's module updater.

Also, using UIkit 3 as the bases of it would be appealing to beginners and also some experienced devs, for the usual reasons: a popular and documented css "framework" is easy to use, extend and update.

The site profile could provide "hooks" so that it can be modified and extended without changing the "core theme".

Sure, I did not provide any new ideas at all, it is just a quick summary of what have been sought after dozens and dozens of times here, in the forums. @bernhard might even be working on something like this maybe? 😉 

  • Like 5

Share this post


Link to post
Share on other sites
5 hours ago, szabesz said:

Regarding Site Profiles: what is really missing is a system which turns one into an updatable "theme". Especially when targeting beginners, it would be preferable to provide a way to keep those profiles updated via the admin, like Ryan's module updater.

Also, using UIkit 3 as the bases of it would be appealing to beginners and also some experienced devs, for the usual reasons: a popular and documented css "framework" is easy to use, extend and update.

The site profile could provide "hooks" so that it can be modified and extended without changing the "core theme".

Sure, I did not provide any new ideas at all, it is just a quick summary of what have been sought after dozens and dozens of times here, in the forums. @bernhard might even be working on something like this maybe? 😉 

For the last couple months, I've been working on a module that does exactly this.  It's not a site profile, it's not a theme.  I don't know what term would accurately describe it, but its a ProcessWire module that's an opinionated, update-able starting point, oriented towards developers, and brings in a bunch of boilerplate like:

  • an installer that will create fields, templates, pages, hannacodes; it runs through a thorough check before doing anything that may result in an error (module installation errors are aggravating; i'm testing it very thoroughly)
  • the installer will rename your 'templates' dir to something temporary, and then copy a starting 'templates' folder that's prepped for the module (you should only do this on dev)
  • if you try to add it to an existing site with a bunch of data, it will work as long as there are not collisions in some fields and templates; if there are, the module won't install and tell you what you need to change around to allow it to install
  • establishes some new $config variables ('env', 'disableTemplateCache', a few others)
  • built with UIkit 3 in mind, but not hardcoded to it
  • a menu builder based on Repeaters with its own Process Module
  • has its own seo+og+twitter+sitemap metadata fields and uses Profields FieldGroup since that is the best module for handling such a grouping
  • has it's own templates inside the module which can be used, or overridden in /site/templates/; this includes
    • blog
    • sitemap.xml
    • maintenance
    • search
  • in addition to template files being able to be overridden, partial files can be overridden too!
  • some module configuration fields (site_name, maintenance, etc.)
  • the module has documentation and other statistics built into it for easy reference
  • takes full advantage of setting() and markup regions; applies attributes like UIkit 'uk-grid' and other data attributes without "touching" the html; keeps the module flexible and easily allows you to rip out UIkit and swap it for another CSS framework (Bootstrap 4); you'll never need to touch edit the _main.php file because of how regions has been set up
  • has it's on RepeaterMatrix fields with boilerplate matrix-types (headline, text, slideshow, etc. etc.); if the user makes new custom matrix types and a later version of my module brings in a new matrix-type, it will update the RepeaterMatrix field and merge it correctly (tricky to do!); the matrix types use many of the same base fields, thereby allowing you to switch from one matrix type to another without data being destroyed (this was only possible as of 2 weeks ago with the new matrix update)
  • to avoid creating a bunch of 1-off fields for the matrix field for block configuration, it uses the new and quite amazing Mystique fieldtype in a unique way (this was tricky to do); this module is critical to establishing a page-builder that is clean (this was only possible as of April 2019 since the module is brand new)
  • brings in PW's debugger to the frontend (brings in jQuery UI); can be disabled
  • all field and template names don't use any prefixes; this would allow you to dump the module one day in the future if you don't like it, without having a bunch of field and template names that sound too specific to the module
  • Laravel Mix based asset compiler pre-configured with UIkit
  • works with FormBuilder and other modules I often use; works and may require certain Pro modules; eliminates the need for any modules that do blogging, menu building, sitemap, maintenance or seo since this module does it using native ProcessWire
  • login/logout/account/register templates
  • it may include a 'collection' generator for common things like events, products, people, properties, along with some templates for those.  don't like the templates my module provides? then just create your own template file in /site/templates/the-template-file.php which will override /site/modules/my-module-name/templates/the-template-file.php

Right now I just started building a few sites with it (spent the last 2 months developing it) which will hammer it out further.  I will release it late summer, early fall.

  • Like 20

Share this post


Link to post
Share on other sites

@Jonathan Lahijani This all sounds awesome 🙂 Are you going to release it as a free module for community based further development or as a paid module? I think as a community effort it could really take off.

  • Like 2

Share this post


Link to post
Share on other sites

Hi @Jonathan Lahijani,

this sounds really great! I'm in for collaboration on this 🙂 

@wbmnfktr the problem that I have with site profiles is that they never work the way I want them to work. The setup is usually different to how I develop pw websites on the frontend. I tried to build a frontend theme module once last autumn, but it got complicated quite quickly. So to use such a module it would be quite some effort to get started (same problems as with site profiles).

Nevertheless I think that it would be great to have some kind of frontend framework. Something similar to what we already have for the backend. That makes standard tasks easier (think of $config->styles->add(...) ) and - well - more standardized (meaning reusable/shareable). I thought of developing a module for that that would basically just bring in some helper functions (like rendering style and script tags) and that can be extended via sub-modules for CSS frameworks that hold custom methods (like rendering an uikit menu, uikit slider etc).

I have not started with that one, but the benefit of such a module would be that we could start with a very simple module that everybody could easily use and it could very easily be extended via pull requests (add uikit slider render method, add uikit modal method etc). And this setup would be 1-click updateable via the PW modules screen. Some kind of migrations module could do the setup of necessary fields.

Site profiles don't offer this flexibility!

But it sounds like Jonathan is coming up with something great here...

  • Like 3

Share this post


Link to post
Share on other sites
10 hours ago, szabesz said:

@Jonathan Lahijani This all sounds awesome 🙂 Are you going to release it as a free module for community based further development or as a paid module? I think as a community effort it could really take off.

It will be free, open-source, like other starter tools out there.

  • Like 6

Share this post


Link to post
Share on other sites

Thank you, guys!

Thanks for your feedback, thoughts and preview on your upcoming ideas and projects here and in my inbox.

I will sort my thoughts and mix them with your input now. I'll keep you posted on this.

 

  • Like 1

Share this post


Link to post
Share on other sites

Just a small addition to this. I just added a new site profile to my Github page.

It's a mix of the official blank and the multi-language site profile.

The reason I made and published it is simple. This kind of setup/profile is almost always my starting point for a new project. So it saves me a lot of time for the inital setup. I kept (almost) all example files, removed demo content, added a few core modules and stripped almost everything in the output/template files.

  • No UIKIT.
  • No real output strategy.
  • No hassle.
  • Just BLANK in multilanguage flavour.

It's not much, but it's honest work. 😉

PWB Multi Blank

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
2 hours ago, wbmnfktr said:

No real output strategy.

Sounds great. The less opinionated, the better 🙂

To answer your original question:

  • SPA profile (Vue, React, Angular or whatever is "cool" this season)
  • Headless profile (perhaps using GraphQL or a simple REST for the frontend to quickly grab content and assemble whatever you wish)
  • PWA profile (service workers, Cache API, a frontend setup showing how you can build pages that can be used even when offline - "app shell" philosophy)
  • "pure awesomeness" starter profile that has the coolest modules already pre-installed, like Tracy, BCE, AOS etc. (the actual choice is of course highly debatable). This would - in a nutshell - show the combined power of what's in the core already - and then some.
  • Like 1

Share this post


Link to post
Share on other sites

I would like a profile that allowed a front end edit ability, similar to what divi does on wordpress.  I want to try and work on one, but it will be a bit before I can. 

Share this post


Link to post
Share on other sites

A sneak preview of a new page builder concept that I'm close to completing.  I'll write more about this in coming weeks, but this video demonstrates a lot of unique things going on:

 

  • Like 18
  • Thanks 1

Share this post


Link to post
Share on other sites

Woah... Well... I don't use this word that often but... this is insane. In a very good and positive way.

 

  • Like 1

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...