Jump to content

Taking content management & creation to the next level


dragan
 Share

Recommended Posts

First of all, Merry Christmas everyone.

Because someone in our company recently suggested to try out Craft CMS, I have played around with their online demo, and was pleasantly surprised.

PW has most of the Craft features already, and much longer. Much of what they advertise as unique features is pretty much standard in PW-land (and open-source, too).

However, there is a thing they call Matrix*, which (afaik) PW can't do (correct me if I'm wrong).

In editing mode, you are able to select / add / re-arrange any kind of input field, however you want. With most input types, you can further customize it (e.g. place the content block left, center, right or full width). Perhaps that's not a feature every type of site needs - most of the time I guess having a fixed set of input fields and a certain predefined frontend element-order is enough.

Another feature I found impressive is live preview. You get a split view: left the admin edit view, and right the frontend page. Though that is impressive, I found it rather something "nice to have" than essential.

Now my question to all PW-devs: Is there some kind of technique / module that would enable the "Matrix" functionality in the PW-editor?

I've purchased ProFields, and played around with it. I was hoping to construct something like the Matrix with either Multipliers, PageTables, or any of the other relatively new modules/fieldtypes. Perhaps I missed something crucial - I don't visit the PW forums as much as I used to - so if you know of any tutorial, module, PW profile etc. that would allow this kind of editorial flexibility, please share it.

I know I could probably add custom WYSIWYG buttons. Or use Hanna Code. But that wouldn't come close to the nice UX the Matrix offers.

* If you don't want to setup a Craft demo, here's a video 

(oh, and in case this sounds like an ad for Craft - it's not. I am just genuinely curious.)

Link to comment
Share on other sites

It would have been nice if you have pointed to the relevant slides of matrix. Or do you really believe people want to look 1 hour video to be able to understand your question?

So, cannot say much to matrix, but a few things came to my mind:

  • I use split screen since ever, via two browser windows! :)
  • Have a look to the blueVR siteprofile. It seems to handle output positioning of parts very nicely. Don't know if this is something in regard of the (for me) unknown matrix, but, maybe it gives you another point of view.
  • Like 1
Link to comment
Share on other sites

The so called matrix fieldtype was already discussed multiple times in various places all over the forum. The closest thing we currently have in processwire is probably the page table extended module, which makes different page table items far more visually distinguishable than the raw table view it has by default. The crucial difference between craft and processwire is, that craft decided to let the matrix field hold other fields – fieldception so to speak – whereas in processwire fields can only be hold by templates and therefore used in pages (without any repetition). Even repeaters, which seem like the inflexible predecessor of something like the matrix field, are internally using hidden templates and pages to store their content – opposed to the idea of storing it on the page the repeater is on. 

For this reasons page tables are probably the best option in terms of content management, but the UI side of it is no were near something like the matrix field. 

@horst Here you go: https://craftcms.com/features/matrix

  • Like 2
Link to comment
Share on other sites

Merry Christmas to you as well.

That was one of the many CMSs I looked at before making my decision to go with ProcessWire. I'm old-school, so my requirements are far more basic than what others may think is best for development. For example, that matrix functionality, in my opinion, was one of the items that was more fluff than actual enhancement. Being old-school, I don't care for the "dreamweaver/frontpage"-esque approach to developer tools. As powerfully simple as ProcessWire is, anyone can develop whatever feature module they think may help take their ability to create to the next level. I prefer an unobstructed, hands-on approach to development, rather than adding bloat from installers, less, template engines, and any other proclaimed 'enhancement' for development. Split windows and a refresh work just fine for preview. :)

  • Like 6
Link to comment
Share on other sites

@LostKobrakai: thanks for the link and clarification!

@rick: hmm, yes, - I forgot to mention that I'm old-schooled. :)

Old has been referenced way too many times in this thread. :)

I find it interesting to observe the development methodologies preferred by the different generations. It reminds me of this...

post-3638-0-33036100-1451057725_thumb.jp

  • Like 4
Link to comment
Share on other sites

I've used Craft on a number of projects. I agree that PW is far ahead in many ways, but they are really pushing the envelope with the Matrix field and the Live Preview. 

I think Craft's Live Preview hits a sweet spot between front-end editing and structured content. I really think this is the best of both worlds. I'm hoping that the front-end editing that's coming with ProcessWire 3.0 moves more in that direction actually. I think it really helps clients understand the structures they're building and gives them confidence as they're editing before committing a change.

PageTable Extended technically accomplishes what Matrix does - but the UI isn't strong enough to actually use it yet (in my opinion).

I tend to use ProcessWire unless the client needs Drafts/Revisions or in cases where Matrix solves a publishing challenge that would be muddy or over-complicated in ProcessWire (from a UI perspective).

  • Like 2
Link to comment
Share on other sites

apeisa: each matrix block (a set of fields defined when creating a matrix field) is it's own table and each field within the Matrix block is a column.

It's very easy to query values using their API - similar to ProcessWire's subfields via Page References.

  • Like 3
Link to comment
Share on other sites

I'm relative happy with pagetable extended - it is relative much work to get it nice rendered and cover the right UI for customers....but it works great.

I've a setup with part_something.php templates that render the needed item...

  • strong trimmed CKE for textfields without to much choices - but with a good prepared mystyles.js with many classes for p, lists and so on to choose styling)
  • templates for textfields (with optionfields on with heading (H2) or text only and columns 1/2/3
  • templates for single big image, small imagegallery, text with image right/left, map and so on (some CSS tweak that the UI fits and all looks fine)
  • using a .renderedContent CSS file to render only the pageTable like in frontend - this is a bit tricky if you wanna render/use a editor.css, too....;)
  • using different behavior for backend and frontend for special UI things....example linking images in frontend to the image like needed but in admin if you click on a image you get the edit link work or no link....so users don't get in wrong ways or open the image in the browser window...
  • Using some easy [[HannaCode]] is rendered nice and my Glossar textformatter with terms in ||pipes|| is rendered, too.
  • with the single templates i can ship extra instructions for every type of contendblock as a feature...

So from my point of view i can easy give my user a contentblock system where he can choose how to build up the page and it look quite familiar like the frontend.

On small projects i was using FREDI and this is very easy for endusers...in the forum i was watching a video from a complete frontendediting with RTE that looks awesome great, but i don't remember the threat and this only was a demo video from no open source things...(there was a logo/user with a deer....england i think....??)

Best regards mr-fan

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...